我的应用程序在启动时从 Web 服务 JSON 下载数据。然后我需要将这些数据存储在 sqlite 数据库中。
系统操作量很大,应用程序启动和列表加载太慢:(
这是我做事的方式:
- 应用程序启动
- 启动器 Activity
- 如果连接正常,请下载 JSON(使用 Volley)
- 存储在 SQLite 中(使用 SQLHelper)
- 开始主要 Activity
- 从数据库加载到缓存(List、ArrayList 等)
- 我需要执行sql请求来排序、过滤...等
下载是在线程中进行的,因为它是网络操作,sql 操作是在主线程上进行的,因为我需要它用于列表
我可以改进哪些方面以获得更好的性能?
最佳答案
第一次运行时,无需执行任何操作(安装应用程序后),要求用户等待并显示警报对话框,之后,在服务中进行这些操作,独立于您的应用程序,以便在用户打开应用程序时,数据已经有了,无需再次下载
您还可以分小块下载数据,并向用户显示您已经下载的内容,并告诉他可能还有更多
关于java - 优化sqlite应用程序启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18873484/