Androidのメモリ構成関連の手順



Android Memory Configuration Related Instructions



1. adb shellコマンドを実行してから、cat /system/build.propコマンドを実行して、Android構成のメモリ実行情報を確認します。

MacBook-Pro:~ root$ adb shell mido:/ $ cat /system/build.prop

2、以下に示すように、dalvik.vm構成アイテムを見つけます(この構成は赤米note4x高バージョンです)

dalvik.vm.heapminfree=4m dalvik.vm.heapstartsize=16m dalvik.vm.heapgrowthlimit=192m dalvik.vm.heapsize=512m dalvik.vm.heaptargetutilization=0.75 dalvik.vm.heapmaxfree=8m

Dalvik.vm.heapstartsize:ヒープ割り当ての初期サイズ。値が大きいほど、アプリケーションはスムーズに起動します。

Dalvik.vm.heapgrowthlimit:通常(つまり、android:largeHeap = 'true'は設定されていません)、dalvikが適用できる最大ヒープメモリ。このサイズを超えると、oom(メモリ不足)例外が発生します。

Dalvik.vm.heapsize:すべての場合(android:largeHeap = 'true'を設定する場合を含む)の最大ヒープメモリ値であり、直接のoomを超えています。

したがって、android:largeHeap = 'true'を設定しない場合、要求されたメモリがheapgrowthlimitを超えている限り、oomがトリガーされ、android:largeHeap = 'true'が設定されている場合、メモリがheapsizeを超えている場合にのみoomがトリガーされます。ヒープサイズは、アプリケーションが適用できる最大メモリです(これには、ネイティブによって要求されたメモリは含まれません)。

Dalvik.vm.heaptargetutilization:現在存続しているオブジェクトのサイズ/ヒープサイズ
英語の説明:これは-XX:HeapTargetUtilizationオプションに変換されます。これは、管理対象ヒープをどの程度いっぱいにするかについてのヒントをVMに提供します。

Dalvik.vm.heapminfree:単一のメモリ調整の最小値
dalvik.vm.heapmaxfree:単一のメモリ調整の最大値
英語の説明:これらはそれぞれ-XX:HeapMinFreeと-XX:HeapMaxFreeに変換されます。これらは、GCの「ソフト制限」ヒューリスティックで使用されます。