的Android的土地深刻檢查顯示,因爲總Method.equals()
方法而言,Android系統下的註解是非常緩慢,非常 GC密集。我們在4.26版本中添加了表格配置文件,繞過了這一點,使ORMLite啓動更快,速度更快。請參閱郵件列表上的this question和this thread。
我們不斷提高註釋速度。另請參閱:ORMLite poor performance on Android?
DAO創建是一個相對昂貴的過程。 ORMLite創建類和類中的字段的數據表示,並構建大量其他實用程序類,以幫助實現各種DAO功能。您應確保每次調用時調用createDao
方法一次。我認爲這是在Android @Pzanno下?
在4.16中,我們增加了一個DaoManager
,他的工作是緩存Dao類,並在4.20版本中進行了改進。您應該始終使用它來創建您的Daos。推薦如下代碼:
private Dao<ModelStore, Integer> modelStoreDao = null;
...
public Dao<ModelStore, Integer> getDaoStore() throws SQLException {
if (modelStoreDao == null) {
modelStoreDao = DaoManager.createDao(getConnectionSource(),
ModelStore.class);
}
return modelStoreDao;
}
希望這會有所幫助。 ORMLite的內存審計也可能是有序的。自從我看到它的消費已經有一段時間了。
這個調用返回什麼?數據庫中的對象的連續數?在這種情況下,您應該限制從數據庫加載的數據量。 – Gamlor 2011-03-25 12:07:28
@Gamlor這個調用返回一個DAO對象,該對象將作用於給定的模型以執行各種數據庫任務,例如插入,更新,查詢等... – Pzanno 2011-03-25 14:24:27
Hey @Pzanno。我已經更新了我的迴應,下面介紹了Android下的'createDao'如此之慢的真正原因。 – Gray 2011-09-15 16:08:07