【发布时间】:2011-12-25 11:09:16
【问题描述】:
我正在构建一个 Android 应用程序,它会获取设备上安装的所有应用程序的列表(ApplicatioInfo 对象)。不幸的是,这个过程太慢了(200 个应用程序大约需要 10 秒)。
有没有办法在我的应用程序的使用中持久/缓存我的 List
谢谢
【问题讨论】:
标签: android caching persistence
我正在构建一个 Android 应用程序,它会获取设备上安装的所有应用程序的列表(ApplicatioInfo 对象)。不幸的是,这个过程太慢了(200 个应用程序大约需要 10 秒)。
有没有办法在我的应用程序的使用中持久/缓存我的 List
谢谢
【问题讨论】:
标签: android caching persistence
您可以将其保存在应用的 SharedPreferences 中一段时间:
ArrayList<ApplicationInfo> ai = new ArrayList<ApplicationInfo>();
//Add the apps to the ArrayList
JSONArray ja = new JSONArray(ai);
settings = getSharedPreferences("apps", 0);
settings.edit()
.putString("appList", ja.toString())
.putLong("time", System.currentTimeMillis())
.commit();
然后只需使用 Timer 或 onResume 方法检查最后创建的列表是否太旧。
【讨论】: