コードで静的変数とメソッドをどのように使用するかによって異なります。
インスタンス変数とオブジェクトはヒープに格納されます。ローカル変数はスタックに格納されます。
静的変数は、ヒープ上の永続領域に格納されます。ガベージ コレクターは、オブジェクトにマークを付けてスイープすることで機能します。クラスのロード中は、静的変数をガベージ コレクションに選択できません。それらは、それぞれのクラスローダー (このクラスのロードを担当した) 自体がガベージとして収集されるときに収集できます。
別のアクティビティに渡す値がある場合、静的変数の代わりにインテントを使用します。
カスタム リスト アダプターでは、静的ビューホルダーを使用します。したがって、静的変数またはメソッドの使用は、さまざまな状況に依存します。
MAT アナライザーと呼ばれるツールを使用して、オブジェクトによるメモリ使用量を分析できます。以下のビデオでは、メモリ管理と、メモリ リークを検出して解決する方法について説明しています。
http://www.youtube.com/watch?v=_CruQY55HOk .
MemoryInfo mi = new MemoryInfo();// current memory usage
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;
http://developer.android.com/training/articles/perf-tips.html。パフォーマンスのヒント、特にPrefer Static Over Virtualの下のトピックについては、このリンクを参照してください。
メモリの可用性は、パフォーマンスのために静的変数とメソッドを使用し、メモリ リークを回避することを検討する基準の 1 つです。