我正在使用记录良好的代码在我的sqlite数据库中插入数据
ContentValues cv = new ContentValues();
cv.put("timestamp", timestamp);
cv.put (..., ...);
db.insert("datatable", "id", cv);
这通常持续约50毫秒,但是在一些插入物后,它持续超过900毫秒,并回到50毫秒。因为db插入是在主线程中完成的,所以长插入(超过900ms)会阻止我的UI。
有人有想法避免这么长的插入吗?
答案 0 :(得分:3)
在主线程上执行此操作是一个坏主意,但要回答具体问题:
有人有想法避免这么长的插入吗?
如果您一次进行多次插入,请确保将它们全部包装在事务中。这会对性能产生巨大影响。
答案 1 :(得分:1)
您不应该在主UI线程上执行这些操作。产生新线程或使用AsyncTask
。