ApplicationInfo对象的持久性

时间:2011-11-09 16:21:23

标签: android caching persistence

我正在构建一个Android应用程序,它获取设备上安装的所有应用程序的列表(ApplicatioInfo对象)。不幸的是,这个过程太慢了(200个应用程序大约需要10秒)。

有没有办法持久保存/缓存我的List< ApplicationInfo>跨使用我的申请?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以暂时将其保存在应用的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方法进行检查。