zoukankan      html  css  js  c++  java
  • Android 缓存策略demo

    packageinstallerpermissionmodelPermissionApps.java

        /**
         * Class used to reduce the number of calls to the package manager.
         * This caches app information so it should only be used across parallel PermissionApps
         * instances, and should not be retained across UI refresh.
         */
        public static class PmCache {
            private final SparseArray<List<PackageInfo>> mPackageInfoCache = new SparseArray<>();
            private final PackageManager mPm;
    
            public PmCache(PackageManager pm) {
                mPm = pm;
            }
    
            public synchronized List<PackageInfo> getPackages(int userId) {
                List<PackageInfo> ret = mPackageInfoCache.get(userId);
                if (ret == null) {
                    ret = mPm.getInstalledPackagesAsUser(PackageManager.GET_PERMISSIONS, userId);
                    mPackageInfoCache.put(userId, ret);
                }
                return ret;
            }
        }
    private final PmCache mCache;
    
    List<PackageInfo> apps = mCache != null ? mCache.getPackages(user.getIdentifier())
                        : mPm.getInstalledPackagesAsUser(PackageManager.GET_PERMISSIONS,
                                user.getIdentifier());
    /**
    * Class used to reduce the number of calls to the package manager.
    * This caches app information so it should only be used across parallel PermissionApps
    * instances, and should not be retained across UI refresh.
    */
    public static class PmCache {
    private final SparseArray<List<PackageInfo>> mPackageInfoCache = new SparseArray<>();
    private final PackageManager mPm;

    public PmCache(PackageManager pm) {
    mPm = pm;
    }

    public synchronized List<PackageInfo> getPackages(int userId) {
    List<PackageInfo> ret = mPackageInfoCache.get(userId);
    if (ret == null) {
    ret = mPm.getInstalledPackagesAsUser(PackageManager.GET_PERMISSIONS, userId);
    mPackageInfoCache.put(userId, ret);
    }
    return ret;
    }
    }
  • 相关阅读:
    【前端积累】点击链接切换图片显示
    【Spring Boot && Spring Cloud系列】构建Springboot项目 实现restful风格接口
    【JavaEE企业应用学习记录】验证配置
    optiontransferselect例子
    javascript面向对象(给对象添加属性和方法的方式)
    JavaBean toString方式
    JavaScript 字符串操作
    SQL AND和OR求值顺序
    dom4j解析XML
    SQL使用总结-like,MAX,MIN
  • 原文地址:https://www.cnblogs.com/onelikeone/p/9312208.html
Copyright © 2011-2022 走看看