2012-03-06 64 views
0

我使用的是有據可查的代碼在我的SQLite數據庫Android和SQLite的:有時插入持續超過900毫秒

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

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

這通常持續50ms左右來插入數據,但afters些插入它持續時間超過900毫秒並回到50ms。因爲數據庫插入是在主線程中完成的,所以長插入(超過900毫秒)會阻止我的用戶界面。

有人有一個想法,以避免這麼長的插入?

回答

1

你不應該在主UI線程上做這些操作。產生一個新線程或使用AsyncTask

3

在主線程中執行此操作是一個壞主意,但回答的具體問題:

已經有人的想法,以避免這種長時間的插入?

如果您要一次執行多個插入操作,請確保將它們全部包裝在事務中。這可能會對性能產生巨大影響。