- 1 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 20:36:33 ]
- NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。
Doja、Starいずれも扱います。質問時には明記してください。 次スレは>>980が宣言して立ててください。 ※DoCoMo以外は下記スレへ。 CLDC+MIDP+携帯電話用Javaスレッド part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/ ■ iアプリ特有ではなくJava一般に関する質問はこちらへ 【初心者】Java質問・相談スレッド116【歓迎】 ttp://pc11.2ch.net/test/read.cgi/tech/1213347130/ ■関連スレ 【日本携帯】Mascot Capsule/Micro3D【標準】 ttp://pc11.2ch.net/test/read.cgi/tech/1117773530/
- 541 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 18:55:16 ]
- 開いておくのも一つの手かもしれないが、開いているだけでもそれなりに
メモリーを食うし、どんな機種依存仕様(と称する端末バグ)にぶつかるか やってみないとなんとも言えない為、あまりお勧め出来ない。
- 542 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 19:15:34 ]
- >>540
どういう設計になってるか分からんから正確にはコメントできないけど、 画像の読み込み全般は基本的にキャンバス(画面)読み込み時に一気に行うべきで、 途中で逐次ロードするようにするべきではない。 当然ながら、外部ストレージから開いたファイルは、閉じなくてはならない。 画面の初期化時にのみ画像が読み込まれるなら、画面を閉じるときに画像は破棄できるオブジェクトなわけで、 キャンバスのメンバとして画像を設定しておけばガベコレ任せでヒープは正しく回収される。 従って、画面の初期化時にヒープを上回る量の画像を読み込まなければいけないような場合は画面設計そのものが間違いであり、 事前にロードする画像の量を減らせるように読み込む画像のパスリストを画面に与えるなりする方法を取るべきである。 また、メニュー画面など主画面とは別個で制御できうるものが存在するなら、 その画面は別のキャンバスとすることによりメモリ削減を図ることが可能である。 ファイルの開きっぱなしを犯してはならない根拠として、「開きっぱなしでアプリケーションが落ちた場合」の挙動が考えられる。 通常、windowsアプリの場合であればOSが落ちたアプリケーションが開いたファイルハンドルは全てcloseしてくれるが、 携帯電話、特にjavaの場合は全く不明である。最悪、開きっぱなしでアプリケーションが終了すればファイル領域のみならずディレクトリ、パーティションまで物理的に壊れることも考えられる。 ファイルはオープン/読み込み/クローズが一体と考えるべきである。 以上。 文句あるならコード晒せ。
- 543 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 19:59:45 ]
- >>540
基本的には>>542の通りなんだけどそうはいってもSDファイルを開くのは遅いんで ファイルはアプリ中は開きっぱなしで、ファイルをJarInflaterでリソース取得するのは ある程度の利用シーンで分けて取得するのをすすめる 10MBいっぺんに使うわけではないでしょ?
|

|