1. ホーム
  2. android

[解決済み] アンドロイドで現在のメモリ使用量を知るには?

2022-09-13 20:56:33

質問

私は/proc/meminfoを使用し、コマンドの応答を解析しましたが、結果は:

メモリ総量: 94348 kB メモリフリー: 5784 kB

と表示され、空きメモリが5MBしかありません。アンドロイド携帯で可能なのでしょうか? 私の携帯電話には5-6個のアプリケーションしかインストールされておらず、他のタスクは実行されていません。それでもこのコマンドは、非常に少ない空きメモリがあることを示します。

または、アンドロイドでメモリ使用量を得る他の方法がありますか?

どのように解決するのですか?

注意:この回答は、デバイスのメモリ使用量/利用可能量を測定しています。これは、アプリが利用可能なものではありません。アプリが何をしているか、何をすることが許可されているかを測定するためです。 アンドロイド開発者の回答を使用する .


Android関連文書 - ActivityManager.MemoryInfo

  1. proc/meminfo コマンドを解析します。参考コードはこちらです。 Androidのメモリ使用量を取得する

  2. 以下のコードを使用し、現在のRAMを取得します。

    MemoryInfo mi = new MemoryInfo();
    ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    activityManager.getMemoryInfo(mi);
    double availableMegs = mi.availMem / 0x100000L;
    
    //Percentage can be calculated for API 16+
    double percentAvail = mi.availMem / (double)mi.totalMem * 100.0;
    
    

数値0x100000Lの説明

1024 bytes      == 1 Kibibyte 
1024 Kibibyte   == 1 Mebibyte

1024 * 1024     == 1048576
1048576         == 0x100000

バイトからメビバイトに変換するための数値であることは一目瞭然です

追伸:総メモリ量を計算するのは一度だけなので、コード内でポイント1を一度だけ呼び出し、その後、ポイント2のコードを繰り返し呼び出すことができます。