Android和SQLite的:有时插入持续超过900毫秒

问题描述:

我使用的是有据可查的代码在我的SQLite数据库Android和SQLite的:有时插入持续超过900毫秒

ContentValues cv = new ContentValues(); 
cv.put("timestamp", timestamp); 
cv.put (..., ...); 

db.insert("datatable", "id", cv); 

这通常持续50ms左右来插入数据,但afters些插入它持续时间超过900毫秒并回到50ms。因为数据库插入是在主线程中完成的,所以长插入(超过900毫秒)会阻止我的用户界面。

有人有一个想法,以避免这么长的插入?

你不应该在主UI线程上做这些操作。产生一个新线程或使用AsyncTask

在主线程中执行此操作是一个坏主意,但回答的具体问题:

已经有人的想法,以避免这种长时间的插入?

如果您要一次执行多个插入操作,请确保将它们全部包装在事务中。这可能会对性能产生巨大影响。