0

j2meでモバイルアプリケーションを開発しています。

私のアプリケーションは次のことを実行します

  • モバイルをBluetoothで外部デバイスに接続します
  • Bluetooth経由でそのデバイスにデータ/コマンドを送信します
  • そのデバイスからの応答を受信する

私の問題は、デバイスが最大 1000KB のデータを返すことです。したがって、私のアプリケーションは「メモリ不足」の例外をスローします。

問題を解決するのを手伝ってください。

4

5 に答える 5

0

あなたはあなたのOSメモリを増やす必要がありますこれを通過します。http://blogs.oracle.com/fkieviet/entry/classloader_leaks_the_dreaded_java

于 2011-08-05T04:56:12.507 に答える
0

J2MEデバイスの物理スペースのサイズに関係なく、メモリフットプリントは通常64から512kbまで変化します。J2MEの最大値は実際には512kbだと思います。私は間違っているかもしれませんが、私はそれを調べます。これはよくある混乱です。私は、JamdatMobileでのJ2MEテストの日々にこの問題に常に直面していました。Motorola Vシリーズのデバイスの多くは、このエラーをスローすることで特に悪名高いものでした。

使用しているデバイスのKVM実装を調べて、実際のメモリフットプリントを確認します。

これが役立つ場合があります:http://java.sun.com/products/cldc/wp/KVMwp.pdf

于 2011-08-05T04:59:48.667 に答える
0

すべてのデータをメモリに保持する必要がないように、一時ファイルにデータを保存するのはどうですか? メモリ割り当てを増やすこともできますが、ある日、ユーザーがさらに大きなファイルを送信すると、同じ問題が再び発生します。

于 2011-08-05T06:23:08.977 に答える
0

背後にある理由は些細なことです.1MBのオンチップメモリ​​があなたのデバイスで利用できないからです. したがって、データをチャンクに分割してみてください。

于 2011-08-05T04:45:33.880 に答える
0

古い J2ME 実装では、最適化を行わないメモリ マネージャが使用されていたことに注意してください。私がゲームを作ったとき、割り当てを明示的に注文する必要がありました。

于 2011-08-05T05:26:50.723 に答える