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;
    }
    }
  • 相关阅读:
    java三大特性或java对象的三大特性?
    数据结构与算法第10周作业——二叉树的创建和遍历算法
    JDBC的应用
    数据结构与算法--第5周作业(线性表合并算法)
    数据结构与算法--第4周作业(单链表)
    WEB(JSP)下的JDBC操作实验
    application下的JDBC操作
    思考题:JSP的指令inclue和动作include的区别
    css3动画小试
    JS => 函数
  • 原文地址:https://www.cnblogs.com/onelikeone/p/9312208.html
Copyright © 2011-2022 走看看