的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