有效地存储和检索数据

时间:2018-04-11 08:07:57

标签: android performance android-sqlite android-json

对于了解阅读存储数据的性能的人,我有一个问题:

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

问题:当我启动应用程序时第一次单击按钮时,动画滞后,1秒后它会加载下一个活动(显示包含图像,文本等的信息)。这不是一个非常重要的问题,但我不喜欢它。

问题:可以使用 SQLite 解决此问题吗?每当我点击按钮开始活动并创建对象(我认为)时,每次启动应用程序时都会从JSON读取。

有人可以给我任何建议吗?

:::::: :JSON存储在App Assets中。静态信息,永不改变。

1 个答案:

答案 0 :(得分:1)

如果数据是静态信息,我认为建议您使用shared preferences。如果您不在多个应用程序之间共享配置,则应在私有模式下使用共享首选项来存储JSON,并使用共享首选项API和GSON在活动开始时提取数据。

您可以在活动开始时访问它 - 覆盖onCreate方法并在UI线程中运行任务,或者如果您确实需要AsyncTask来运行后台任务。

如果在多个活动中使用配置,则应用程序的另一部分可能会更改配置,例如另一个活动。确保当您回到初始活动时,重写onResume或类似内容以重新获得必要的配置。如果您不确定何时访问共享偏好设置,请阅读活动lifecycle documenation

如果您正在加载或编写大量数据,您可能希望尝试在UI线程之外运行,使用AsyncTask,否则您将阻止导致滞后/阻塞的UI线程。