CLDC+MIDP+携帯電話用Javaスレッド part 8
- 399 :357:2008/07/09(水) 22:44:49
- 今さらですが、取り合えずはなんとかは出来ましたのでご報告致します。
エミュや実機の動作の差分を見ていたところ、
703SHではゲーム用インナーのコンストラクタに入るところで急激に増えていました。
このクラスのメンバには一番多く変数が定義されており、
コピーコンストラクタで変数を大量に生成した後には703SHでは増えている感じでした
(エミュ・905SH・813SHでは約900KBに対し703SHでは約2MB)。
コンストラクタに入ったときにGCを呼んでも解放されなかったため、
new byte[Runtime.getRuntime().freeMemory()]
を2回呼ぶことで空きメモリが必要である事を主張し解放を促しました。
これにより前記の領域を解放させることが出来ました。
タイミングによってはOutOfMemoryErrorが出るので、安全策として、
ここの部分でのみErrorをcatchしています。
Errorの性質上、かなり気持ち悪い実装となりましたが、
現状ではこの方法で回避するとこが出来ました。
143 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
取りに行ったけどなかった。次は一時間後に取りに行くです。新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.8 2008/09/25 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)