妥善保存列表内容以备下次使用

Save list content for next use properly

正如您在 facebook、twitter 等应用程序上看到的那样,您在主页中有内容列表。如果您关闭应用程序然后再次打开它,您仍然可以从服务器重新加载这些内容。

目前我使用此代码保存我应用程序中的所有值

SPref.setPref(getActivity(), Config.USER_ID, lb.userId);
SPref.setPref(getActivity(), Config.USER_NAME, lb.name);
SPref.setPref(getActivity(), Config.USER_EMAIL, lb.email);

它只是保存一个字符串或一个 int 值而不是列表。我使用 sqlite 在本地设备上保存数据,并为我的其他项目保存了一个文件。在这种情况下,在我的新项目中,我想确定哪种方式更适合保存列表值。

顺便说一下,我使用 SharedPreferences 因为有人告诉我它更快。

shared preference

只是为了存储 KEY , VALUE 对,所以你可以在这里存储少量数据,如用户名,一些标志等。

要像这里一样存储您要存储列表的正常内容。

使用SQLite因为这个列表不会经常改变,否则会修改然后使用Cache

请点击此链接以更好地理解
https://developer.android.com/guide/topics/data/data-storage.html

https://developer.android.com/reference/android/util/LruCache.html

共享首选项当然非常快,但它们并不意味着要与庞大的数据集一起存储,顾名思义,它们旨在将应用程序的首选项数据存储在键值对中,例如

  1. 设置声音on/off
  2. 设置登录状态
  3. 为应用设置 day/night 主题。

在上面的示例中,每当用户更改设置时,您都可以将其存储在 SP 中,并在下次做出任何决定时使用它

对于更大的数据集,您必须使用 SQL lite https://developer.android.com/training/basics/data-storage/databases.html

或者Realm DB(第三方库) https://realm.io/