高效存储和检索数据

Storage and retrieve Data Efficiently

我有一个问题想问了解读取存储数据性能的人:

首先我想解释一下我的应用程序:我在应用程序资产中有一个JSON( 77kb 大小)和一个对象列表,其中包含要在我的应用程序中显示的图像路径和文本等信息数组。在我的 MainActivity 中有不同的按钮,每个按钮调用一个视图并在 recycleView 中加载 JSON 信息。

问题: 启动App时第一次点击按钮,动画滞后1秒后加载下一个activity(显示图片、文字等信息)。这不是一个真正重要的问题,但我不喜欢它。

问题:我可以用SQLite解决这个问题吗?当我单击启动 activity 并创建对象的按钮(我认为)时,每次启动应用程序时都会从 JSON 读取。

有人可以给我什么建议吗?

JSON 存储在应用程序资产中。静态信息,永不改变。

如果数据是静态信息我觉得推荐你使用shared preferences。如果您不在多个应用程序之间共享配置,您应该在私有模式下使用共享首选项来存储 JSON 并在 activity 时使用共享首选项 API 和 GSON 来提取数据开始。

您可以在 activity 启动时访问它 - 覆盖 onCreate 方法和 运行 UI 线程中的任务,或者如果您确实需要一个 AsyncTask 到 运行一个后台任务。

如果跨多个活动使用配置,则配置可能会被应用程序的另一部分更改,例如另一个 activity。确保当您返回初始 activity 时,您会覆盖 onResume 或类似于 re-get 的必要配置。如果您不确定何时访问您的共享首选项,请阅读 activity lifecycle documenation

如果您正在加载或写入大量数据,您可能想尝试 运行在您的 UI 线程之外使用 AsyncTask,否则您将阻塞 UI 线程是导致 lag/blocking.

的原因