iモード携帯電話用Java(iアプリ) Part11
■ このスレッドは過去ログ倉庫に格納されています
0286277
2006/04/21(金) 07:53:22とりあえずこれをメインルーチンの最後に突っ込んだら適当な数値で止まったよ、ありがとう。
>280
エミュの場合ですが、ためしに簡単な文字表示するだけのプログラムにメモリ表示つっこんでも
やっぱり0までカウントダウンずーっと進んで0になったらまた最大値に戻り、また0にを
繰り返すんで、これはもう仕方ない現象なのかなと思いました、そもそもなんで0になってるはず
なのにシステムエラーにならないのかも謎。
ちなみに実機ではある程度まで減り続けて(0になることはない)また回復して
を繰り返してました、下が0になるかならないかの違いですが、でも>279を入れたらエミュと
同じようにある程度のとこでメモリ消費は止まりました。
JAVA自体扱うのも初めてなんですが、Cやアセンブラのように変数やメモリ確保などで
消費した分だけ減り、そこで止まるんだとイメージしてたのですが、JAVAの場合オブジェクトとして
確保した変数をループ内部で使っていると(もちろんループの中で確保はしていない)、そのオブジェクト
がメモリ内部でどんどん複製されて、際限なく減るのかなと思ってしまったのですが、そもそもJAVAV
って適当なとこでメモリの開放を自動で行なうはずなんですよね?。
System.gc()入れないと、どんなに簡単なプログラムに入れてもカウントダウン>また戻る現象は変わらない
のは謎のままなのかな、これ入れなくても消費したメモリ分だけのところで「止まる」というイメージ
通りにはならないのはちょっと気味悪いな。
■ このスレッドは過去ログ倉庫に格納されています