gpt4 book ai didi

android - 在 Android 应用程序中使用大型数据库

转载 作者:行者123 更新时间:2023-11-30 01:15:53 24 4
gpt4 key购买 nike

我有一个使用 SQLite 数据库的 Android 应用程序。问题是数据库已经变得非常大 (41.6 MB),我开始怀疑我是否正确地将它加载到应用程序中。

现在我正在做的是在我的应用启动画面的 onCreate() 方法中我打开数据库,查询它,将数据保存为对象,然后关闭数据库。冷启动需要花费大量时间。理想情况下,我想在第一次启动时完成所有这些并将数据保存在设备上的某个位置以加快 future 的启动。有什么办法可以做到吗?

最佳答案

我之前也遇到过同样的问题,应该是一样的吧。我的一个是因为我 ping 后端 API 的次数太多了,还有一个问题是你插入到你的对象中。可能当你插入它时,应该只插入一次的数据,如果你要插入很多对象,你在 for 循环中插入了太多次。可能你可以在插入时放入你的代码。很多开发人员并不关心这一点,但实际上这对用户来说真的很烦人。

在我的例子中是因为这个:

  manager.removeAllStop();
manager.removeAllUpload(); //--> remove the data before insert the new one

for (Stop stop : SomeStopsList) { //--> when I want to loop through and want to add it to other object

**manager.insertAppTourStopList(appTourStopList);** //--> PROBLEM HERE !!!! THIS COULD BE OUTSIDE FROM THE LIST BECAUSE YOU WANT THIS TO BE ADDED ONCE ONLY

ArrayList<Upload> uploadList = new ArrayList<Upload>(); // --> new object
for (Upload uploadData : stopList.uploads) { //--> get the list and loop
Upload upload = new Upload(); //--> create new object
upload.setStopId(stopList.getId()); //--> insert it
}
}

关于android - 在 Android 应用程序中使用大型数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37871071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com