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;
    }
    }
  • 相关阅读:
    CF 7C. Line(扩展欧几里德)
    HDU 1700 Points on Cycle(向量旋转)
    POJ 1673 EXOCENTER OF A TRIANGLE(垂心)
    SRM 594 DIV1 250
    Codeforces Round #207 (Div. 1) A. Knight Tournament(STL)
    POJ 1654 Area(水题)
    POJ 1474 Video Surveillance(半平面交)
    POJ 1473 There's Treasure Everywhere!
    POJ 1329 Circle Through Three Points(三角形外心)
    POJ 1279 Art Gallery(半平面交)
  • 原文地址:https://www.cnblogs.com/onelikeone/p/9312208.html
Copyright © 2011-2022 走看看