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
。
答
在主线程中执行此操作是一个坏主意,但回答的具体问题:
已经有人的想法,以避免这种长时间的插入?
如果您要一次执行多个插入操作,请确保将它们全部包装在事务中。这可能会对性能产生巨大影响。