目次
メモリ不足 OOM
1 つのアプリケーションで使用できる最大メモリ
dalvik.vm.heapstartsize 。ヒープ割り当ての初期サイズを表します。
dalvik.vm.heapgrowthlimitは、単一プロセスのメモリ制限を表します。
dalvik.vm.heapsize 、単一のプロセスで使用可能な最大メモリ。
heapgrowthlimitが定義されている場合、その値は単一プロセスのメモリ値を制限するために使用されます。通常、 heapsize値は heapgrowthlimit値より大きくなります。heapgrowthlimitの値を設定して も十分でない場合は、マニフェスト ファイル(AndroidManifest.xml)ファイルに 「android:largeHeap=true」を追加して、heapsize の値を使用できます。
OOM の一般的な原因
1.大きな画像を読み込む
2.メモリリーク
Java例外システム
メモリのリアルタイム監視
JPDA
Java プラットフォーム デバッグ システムJPDA (Java PlatformDebugger Architecture)。これは、仮想マシンのデバッグと監視のために Java 仮想マシンによって特別に提供されるインターフェイスのセットです。
JVMTIは JVM によって公開されるインターフェースであり、JDI は JDWP 通信プロトコルを実装するクライアントであり、これを介してデバッガーは JVM でデバッグされたプログラムと通信します。
JVMTI の重要な機能
クラスを再定義する
オブジェクトの割り当てとガベージ コレクションのプロセスを追跡する
オブジェクトの参照ツリーに従い、ヒープ内のすべてのオブジェクトをトラバースする
Java コール スタックを検出する
すべてのスレッドを中断 (および再開) する
アート・ユー
アート (Android ランタイム)。Android 8.0 以降では、ART Tool Interface (ART TI) がランタイムの内部アーキテクチャ情報を提供し、スプリッターとデバッガーがアプリのランタイム動作に影響を与えることを可能にします。これを使用して、最先端のパフォーマンス ツールを実現できます。