iモード携帯電話用Java(iアプリ) Part 5
N900iだけでConnector.openで例外が発生する件
本質的な解決じゃないけど例外は出なくなったので報告。
例外を発生するアプリは通信処理前にスクラッチパッドから約100kの
データをロードしててメモリをたくさん使っています。そこで
>>115氏の内容を参考に
データロードする前に通信処理をしたところ例外が発生しなくなりました。
ある程度メモリを使ってから通信するとエラーが出る可能性大です
ちなみにアプリのSPSIZEは95kbです。
とりあえず何の例外が発生したか出力するようにしたので
N900iユーザから報告待ちです。
わかったらまた書き込みます。
N900iだけでConnector.openで例外が発生する件
例外が分かりました
com.nttdocomo.io.ConnectionException: NoResource
リソース不足ってことですかね。
やはりメモリの問題ですか
ってゆーか単純にリソース食い尽くしてエラーが出てるの?
自分のプログラムが端末の限界を超えて作ってしまったってこと?
でもN505iで動くし,もしかするとSPSIZE=409600KBであれば動くかも
しれないので,なんともいえないですね。。。
メモリーが超余裕でもN900とP900はメモリーオーバー吐く。
SP409600にするとでなくなる。(
>>135 単位KBじゃないぞ)
ひどすぎるバグである。
>>136 KB誤記スマソ
本当にひどすぎるバグだ=3
>>135 リソース不足だったか。Nってすぐメモリなくなるんだよな。なんでなんだか。
ちなみに、ConnectionExceptionとかは、getMessage()の内容も重要だけど、
getStatus()の戻り値も重要なので、今後デバッグする時は出力するように書いといた方が良いカモ。
>>138 メモリ管理が5KB単位なんで、頻繁に確保したり解放したりしてると
フラグメンテーションでえらいことになる。
しかもRuntime#freeMemory()では検出できないという・・・orz
フラグメンテーションって。。。
GCするときにコンパクションしてないってことか...orz
>>139 まぁ、ネイティブなんでfreeMemoryとかじゃわかんないよなぁ。
NP問題については以前話題になってたが、
spsize409600にするのが基本のようだね。
jamだけ変更すればいいわけなんで、
それが一番簡単でトラブルも少なくていいかもな。
へたに、spsizeケチるより
どーんといこうや。
NとPはgcが未実装だってどこかで見たが
さすがにGCは実装してると思うぞ…。
GC実装してなかったらCLDC準拠じゃないだろ。。
こうして見ると、Nは503iからずっとトラブルメーカーか?
他にも酷い機種はあるが、トップシェアならきちんとやってくれ。