2012-04-18 8 views

答えて

11

から入手することができますので、このスレッド缶を訪れる他の人がステップを知るようになる:

1)parse/proc/meminfoコマンド。あなたはここに参照コードを見つけることができます。 Get Memory Usage in Android 2)コードの下に使用して、現在のRAMを取得:

MemoryInfo mi = new MemoryInfo(); 
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
activityManager.getMemoryInfo(mi); 
long availableMegs = mi.availMem/1048576L; 

注:ことに注意してください - 私たちは一度だけ、合計メモリを計算する必要があります。コール・ポイント1はコード内で1回だけ使用し、その後はポイント2のコードを繰り返し呼び出すことができます。

2

/proc/cpuinfoファイルから必要な情報のほとんどを得ることができます。ここでは、そのファイルをロードし、解析する方法についてのチュートリアルです:http://www.roman10.net/how-to-get-cpu-information-on-android/

さらにRAMについての情報は私が何をしたか、あなたを教えてみましょう/proc/meminfoファイル

+0

meminfoは完全にインストールされたラムを提供しません。使用済みのラムについての情報を提供します。熱く使用されます。その答えは正しいわけではありません。 – drdrej

1

アガルワルの答えは非常に役に立ちました。

主な活動から:

public class MyActivity extends Activity { 
    ... 
    public void onCreate(Bundle savedInstanceState) { 
     ... 
     MySystemUtils systemUtils = new MySystemUtils(this); // initializations 
     ... 
    } 
} 

SystemUtilsファイルでは、私が活動して空きメモリを計算しますが、ユーティリティがファイルシステムにアプリケーションコンテキストを渡していないよので、それを少し変更する必要がありました:

MySystemUtils (Context appContext) { // called once from within onCreate 
     MemoryInfo mi = new MemoryInfo(); 
     ActivityManager activityManager = ActivityManager)appContext.getSystemService(Activity.ACTIVITY_SERVICE); 
     activityManager.getMemoryInfo(mi); 
     long availableMegs = mi.availMem/1048576L; 
    } 
2

現在のデバイスのRAMサイズを取得するためのコードスニペットです。

ActivityManager actManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
MemoryInfo memInfo = new ActivityManager.MemoryInfo(); 
actManager.getMemoryInfo(memInfo); 
long totalMemory = memInfo.totalMem; 
関連する問題