2012-04-19 9 views
0

Android 2.2プラットフォームで画像分割アルゴリズムをプログラミングしています。次のコード行を実行すると:Androidプラットフォームでプログラミングするときにメモリが不足する

double[][] temp=new double[328][576]; 

メモリ不足例外があります。

しかし、私はActivityMannager.getMemoryInfo()を使用してシステム上の使用可能なメモリ容量をチェックしていますが、まだ44851200バイトの空き容量があることがわかります。

システムにまだ空き領域があり、メモリ不足の例外が存在するのはなぜですか?

+0

あなたのアプリケーション内で短いライフ変数に 'weak reference'を使ってみてください。 –

+1

' ActivityMannager.getMemoryInfo() 'はあなたのプロセスだけでなく、*デバイス*の空きメモリについても教えてくれます。 – CommonsWare

答えて

7

Androidは各プロセス/アプリケーションのメモリ割り当てに制限があります。あなたのアプリのためだけに電話で利用可能なメモリ全体を使用することはできません。デバイスによっては、各プロセスの最大メモリ使用量に制限があります。このlinkがお手伝いします。

関連する問題