- 357 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 20:51:44 ]
- S!アプリを作っているのですが、703SHにてOutOfErrorが出てしまいます。
OutOfErrorなのでリソースを削るのが定石だと思うのですが、 実機でRuntime#freeMemory()とRuntime#totalMemory()を使ってメモリ状況をモニタリングしていると、 突然freeMemory()が増える(使用メモリが減る)タイミングがあります。 起動時に大きくリソースを読み込み、4MBのヒープの3.7MB前後をしばらく推移し、 その状態でリソースを読み替えの場面を行き来するとOutOfErrorが起きやすいのですが、 freeMemory()が増えたあとは2Mあたりを推移し、上記場面でのOutOfErrorは今現在発生していません。 freeMemory()が増えるタイミングまちまちで、大きくリソースを読み込んだ後1・2分程放置することで基本的になります。 この時に起きているであろう解放を明示的に起こす方法はありますでしょうか? 読み込み時は1ファイル毎にSystem.gc()を読んでおりますが、効果はありませんでした。 MEXA Emulator及び905SHでは、大きくリソースを読み込んだ後から既に2Mあたりを推移すると言う状況です。 何かご存知でありましたらご教授をお願い致します。
|

|