自然那几个也是性质测试需求监控的数据之一,自然这几个也是性质测试需求监控的数目之一

如今在搭建包容性质量平台,近日架构图依然其中才可以看出,具体之后做完小编会开放出来。

近年来在搭建包容性品质平台,近年来架构图依然中间才可以见到,具体之后做完作者会开放出来。
中间三个就是内需去赢得Android应用的轻重,大家明日自小编的apk还是会做的玩命小,可是用了一段时间之后apk的占用量就会越发大,自然这几个也是性质测试须求监控的多寡之一。

里头多个就是急需去取得Android应用的高低,大家以往自个儿的apk如故会做的玩命小,但是用了一段时间之后apk的占用量就会特别大,自然这么些也是性质测试必要监控的数量之一。

在那边大家用到了之类的:

在此间大家用到了如下的:

亿万先生官方网站: 1

主导代码:

android1

以及

主干代码:

随即就发现多个标题,2.3的本子的确可以用。然而4.2以及上述版本就报错了。经过调研发现
PackageManager.getPackageSizeInfo(String packageName,
IPackageStatsObserver
observer)不可用,改为PackageManager.getPackageSizeInfo(String
packageName, int userHandle, IPackageStatsObserver observer)。

    public class PkgSizeObserver extends IPackageStatsObserver.Stub {

        @Override
        public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)
                throws RemoteException {
            // TODO Auto-generated method stub
            cachesize = pStats.cacheSize;
            datasize = pStats.dataSize;
            codesize = pStats.codeSize;
            totalsize = cachesize + datasize + codesize;
            Log.i(TAG, "cachesize--->" + cachesize + " datasize---->"
                    + datasize + " codeSize---->" + codesize);
        }
    }

于是我们代码必要做如下的修改:

以及

下一场小编install到了Nexus5
Android5.0方面,点击一个应用之后看到如下Log,表明成功了~~~

    public void queryPacakgeSize(String pkgName) throws Exception {
        if (pkgName != null) {
            PackageManager pm = getPackageManager();
            try {
                Method getPackageSizeInfo = pm.getClass().getDeclaredMethod(
                        "getPackageSizeInfo", String.class, 
                        IPackageStatsObserver.class);

                getPackageSizeInfo.invoke(pm, pkgName,
                        , new PkgSizeObserver());
            } catch (Exception ex) {
                Log.e(TAG, "NoSuchMethodException");
                ex.printStackTrace();
                throw ex;
            }
        }
    }

本条会作为本身监听apk中的多少个模块存在~~~

随之就意识一个题材,2.3的版本的确可以用。不过4.2以及上述版本就报错了。经过查证发现
PackageManager.getPackageSizeInfo(String packageName,
IPackageStatsObserver
observer)不可用,改为PackageManager.getPackageSizeInfo(String
packageName, int userHandle, IPackageStatsObserver observer)。
故而我们代码需求做如下的改动:

但愿后续

    public void queryPacakgeSize(String pkgName) throws Exception {
        if (pkgName != null) {
            PackageManager pm = getPackageManager();
            try {
                Method getPackageSizeInfo = pm.getClass().getDeclaredMethod(
-                       "getPackageSizeInfo", String.class, 
+                       "getPackageSizeInfo", String.class, int.class,
                        IPackageStatsObserver.class);

                getPackageSizeInfo.invoke(pm, pkgName,
-                       , new PkgSizeObserver());
+                       Process.myUid() / 100000, new PkgSizeObserver());

            } catch (Exception ex) {
                Log.e(TAG, "NoSuchMethodException");
                ex.printStackTrace();
                throw ex;
            }
        }
    }

然后小编install到了Nexus5
Android5.0方面,点击1个采纳之后看到如下Log,表达成功了~~~

亿万先生官方网站: 2

亿万先生官方网站:,android2

本条会作为自己监听apk中的二个模块存在~~~

相关文章

网站地图xml地图