RT @youten_redo: 結局ぐぐって出てくるのがthrow Lifeというのがパネェ。http://www.adamrocker.com/blog/248/overview-of-the-dalviks-object-management.html
2010-11-26 01:23:53RT @youten_redo: 結局ぐぐって出てくるのがthrow Lifeというのがパネェ。http://www.adamrocker.com/blog/248/overview-of-the-dalviks-object-management.html
2010-11-26 01:23:53あ、ついでなので混在しないように注釈しとくとBitmapImageのロード時はライブラリのSkia経由なのでVMHeapとは別にmallocしてます。オブジェクトはVMさん管理ですが、BitmapDataのメモリ確保はVMさん管理外です。
2010-11-26 01:27:22@mhidaka せんせい、つまり BitmapFactory.decodeResource でデコードする時にOOMが発生してる場合、VM外のメモリが足らないって事になるんですか?
2010-11-26 01:29:43@hyoromo VM外メモリ不足の可能性も高いと感じてます。decodeResource する際は瞬間的に読み込みたいBitmap以上のメモリを要求されてるんだと思います。
2010-11-26 01:32:42今ぼくのなかで疑問なのはBitmapFactory.decodeResourceされた画像データのメモリ確保がNDK経由なのでVMさん管理外なのは間違いなさそう。ということはVMHeapは早々消費されないはずなんだけど・・・経験的にはVMHeap足りてないよなぁ、です。
2010-11-26 01:34:53@keiji_ariyama VMのオプションで選べるみたいです。kMinHeapSizeはheapSizeMaxの下限マクロ、kMinHeapStartSizeは起動時のheapSizeStartの下限値マクロらしい。
2010-11-26 01:43:08デバッギングツールのDDMSなんかで見えるメモリ使用量はプロセスHeap単位だからVMHeapが消費されているのかどうかなんかわからない? いや、でも詳しくメモリ確保の様子が分かるので、キチンと追えば解が見つかりそうな気がする
2010-11-26 01:45:30@mhidaka まだまだメモリの使い方決める要素と、Linuxから見る方法があります。いくつかヒントを教えれるので、気分転換に僕の席までどうぞー
2010-11-26 06:07:54@mhidaka DDMSで出てくるのはPSS(proportional set size,sharedを共有してるプロセスの平均メモリ+private)だから、sharedをzygoteが抱えるAndroidでは参考程度に思っといた方がいいです。
2010-11-26 06:15:01