当我在我的应用程序中使用sqlite时,应用程序变得太慢

时间:2010-11-02 13:17:17

标签: android

我正在开发一个应用程序。在这里我使用sqlite数据库。

我第一次从资产中获取数据然后插入数据库。从第二次起,我从数据库中获取数据。

但第一次我的申请很慢。最后我的申请太慢了。我的问题是,当我们在应用中使用sqlite时,应用会变慢吗?以及我们可以为这类问题做些什么。

请给我一些建议。

2 个答案:

答案 0 :(得分:1)

您用于读取XML文件的解析器可能工作得非常慢 - 但事实并非如此,因为我可以处理包含7000个条目的XML文件,其中3个实体每个都在大约12秒内添加每个进入DB。

如果它导致强制关闭/等待对话框出现问题,请在单独的线程中运行第一次导入,而不是在UI线程中运行。

另一种解决方案是将数据加载到模拟器上的数据库中,从应用程序目录中获取sqlite文件并将其与应用程序打包,然后只需将文件从资产文件夹移动到DB文件夹:

对于大型数据库,

Database Populating Solution,但如果资产文件夹中的数据库小于1mb,则可以简化流程。

答案 1 :(得分:1)

我确实想到的另一件事我忘了提及,当你进行初始插入时,你是否在发现每个记录时对其进行分类?如果是这样,您可能会发现使用交易更快:

db2.beginTransaction();
try 
{
    // Perform logic loop and perform each insert:



    db2.setTransactionSuccessful();
}
finally 
{
    db2.endTransaction();
}