j2meでモバイルアプリケーションを開発しています。
私のアプリケーションは次のことを実行します
- モバイルをBluetoothで外部デバイスに接続します
- Bluetooth経由でそのデバイスにデータ/コマンドを送信します
- そのデバイスからの応答を受信する
私の問題は、デバイスが最大 1000KB のデータを返すことです。したがって、私のアプリケーションは「メモリ不足」の例外をスローします。
問題を解決するのを手伝ってください。
j2meでモバイルアプリケーションを開発しています。
私のアプリケーションは次のことを実行します
私の問題は、デバイスが最大 1000KB のデータを返すことです。したがって、私のアプリケーションは「メモリ不足」の例外をスローします。
問題を解決するのを手伝ってください。
あなたはあなたのOSメモリを増やす必要がありますこれを通過します。http://blogs.oracle.com/fkieviet/entry/classloader_leaks_the_dreaded_java
J2MEデバイスの物理スペースのサイズに関係なく、メモリフットプリントは通常64から512kbまで変化します。J2MEの最大値は実際には512kbだと思います。私は間違っているかもしれませんが、私はそれを調べます。これはよくある混乱です。私は、JamdatMobileでのJ2MEテストの日々にこの問題に常に直面していました。Motorola Vシリーズのデバイスの多くは、このエラーをスローすることで特に悪名高いものでした。
使用しているデバイスのKVM実装を調べて、実際のメモリフットプリントを確認します。
これが役立つ場合があります:http://java.sun.com/products/cldc/wp/KVMwp.pdf
すべてのデータをメモリに保持する必要がないように、一時ファイルにデータを保存するのはどうですか? メモリ割り当てを増やすこともできますが、ある日、ユーザーがさらに大きなファイルを送信すると、同じ問題が再び発生します。
背後にある理由は些細なことです.1MBのオンチップメモリがあなたのデバイスで利用できないからです. したがって、データをチャンクに分割してみてください。
古い J2ME 実装では、最適化を行わないメモリ マネージャが使用されていたことに注意してください。私がゲームを作ったとき、割り当てを明示的に注文する必要がありました。