我正在构建一个Android应用程序,它获取设备上安装的所有应用程序的列表(ApplicatioInfo对象)。不幸的是,这个过程太慢了(200个应用程序大约需要10秒)。
有没有办法持久保存/缓存我的List< ApplicationInfo>跨使用我的申请?
谢谢
答案 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方法进行检查。