【发布时间】:2014-07-30 14:10:25
【问题描述】:
我正在使用 SQLCipher,它工作正常。这个openDatabase 方法有一个性能问题。我的代码是
SQLiteDatabase database = SQLiteDatabase.openDatabase(databasePath,
databasePassword, null, SQLiteDatabase.OPEN_READWRITE);
这也可以正常工作。但我的问题是它需要 3 到 4 秒的时间(我发现 Logcat 的时间滞后)。因此,活动显示响应缓慢。
注意:
我在设置setContentView(R.layout._list); 后从onCreate 方法调用此代码
我做得对吗?有没有其他方法可以打开数据库。
从onCreate调用openDatabase对吗?
【问题讨论】:
-
您应该始终在后台线程上执行磁盘 I/O。除此之外,使用 Traceview 来准确确定您的时间都花在了哪里。
-
我在 SQLiteDatabase 之前添加日志 database = SQLiteDatabase.openDatabase(databasePath, databasePassword, null, SQLiteDatabase.OPEN_READWRITE);在此之后。正是在这里,它需要 3 秒的时间。