【发布时间】:2013-05-25 11:44:12
【问题描述】:
我正在使用 ormLite 在设备上存储数据。 我不明白为什么,但是当我存储大约 100 个对象时,其中一些对象存储时间太长,最多可达秒。 这是代码
来自数据库管理器:
public class DatabaseManager
public void addSomeObject(SomeObject object) {
try {
getHelper().getSomeObjectDao().create(object);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public class DatabaseHelper extends OrmLiteSqliteOpenHelper
public Dao<SomeObject, Integer> getSomeObjectDao() {
if (null == someObjectDao) {
try {
someObjectDao = getDao(SomeObject.class);
} catch (Exception e) {
e.printStackTrace();
}
}
return someObjectDao;
}
有什么办法可以避免这种情况吗?
【问题讨论】:
-
所以你说插入100个对象需要一秒钟?或者他们中的一些人都需要一秒钟?
-
不,大多数物品可以节省 10-20-30 毫秒,但很少(3-5 件)可以节省 300-1000 毫秒。
-
DAO 创建是最昂贵的部分,因此第一个可能比其他的花费更多的时间。但除非数据有一些差异,否则我无法解释为什么 100 个湖中的几个条目要长 10 倍。
-
我想这不是正确的方法,但目前我通过将此操作提取到单独的线程来解决问题。我用相同的数据集尝试了几次,每次都是不同的对象,所以它不依赖于对象。
标签: android ormlite performance