0

特定のアプリケーションのRAM使用量、またはAndroidデバイスにインストールされているパッケージ名を取得するにはどうすればよいか疑問に思いました。私はこれまでパッケージマネージャーを使い、必要なパッケージ名を付けていきました。しかし、それを取り除くために私が使用できる方法はありません。この後どうしたらいいのかわからない。特定のアプリケーションが現在使用しているRAMの量を取得するのを手伝ってください。

4

2 に答える 2

0

adbツールを使用して、アプリが消費するメモリ情報を取得できます

adb shell dumpsys meminfo

adb shell dumpsysmeminfo>meminfo.txtによってこの出力をテキストファイルに取り込むことができます

これについての以前の良い説明はここにあります

Androidでアプリケーションのメモリ使用量を確認するにはどうすればよいですか?

于 2012-07-08T16:15:23.530 に答える
0

この関数はあなたを助けます:

public static void logHeap(Class<?> clazz) {
        Double allocated = new Double(Debug.getNativeHeapAllocatedSize())/new Double((1048576));        
        Double available = new Double(Debug.getNativeHeapSize()/1048576.0);
        Double free = new Double(Debug.getNativeHeapFreeSize()/1048576.0);
        DecimalFormat df = new DecimalFormat();
        df.setMaximumFractionDigits(2);
        df.setMinimumFractionDigits(2);

        Log.d("memory-usage", "===================================================================================================");
        Log.d("memory-usage", "debug.heap native: allocated " + df.format(allocated) + "MB of " + df.format(available) + "MB (" + df.format(free) + "MB free) in [" + clazz.getName().replaceAll("com.myapp.android.","") + "]");
        Log.d("memory-usage", "debug.memory: allocated: " + df.format(new Double(Runtime.getRuntime().totalMemory()/1048576)) + "MB of " + df.format(new Double(Runtime.getRuntime().maxMemory()/1048576))+ "MB (" + df.format(new Double(Runtime.getRuntime().freeMemory()/1048576)) +"MB free)");

        System.gc();
        System.gc();
    }
于 2012-07-08T19:02:08.390 に答える