私は問題に対してひどいアプローチをしているかもしれないので、背景を説明します-自己学習.
私はアンドロイド用のアプリを書いており、デフォルトの AVD でテストしています。これは、512 の「デバイス RAM サイズ」と 240 の「抽象 LCD 密度」で WVGA800 に設定されています。
いくつかの画像があり、それらを drawable-hdpi に入れました。そのフォルダーには 458 KB (MB ではない) 相当の画像があります。すべての画像は PNG 形式です。
問題は、最大の画像 (背景に使用) を読み込もうとすると、次のようにスローされることです: java.lang.OutOfMemoryError
This is the call to load the image:
BitmapFactory.decodeResource(status.getResources(), R.drawable.background);
これは、残りの画像 (合計 33 個) を読み込む方法と同じです。
最大の画像でメモリが不足することは理にかなっていますが、フォルダーの合計サイズは 458 KB であるため、デバイスに設定されている 512 MB の RAM が不足することはないと思います。
画像をアンロードすることはありません。ロードしたままにして、必要に応じて使用します。以前に別のアプリを作成しました。画像の合計サイズは 563 KB で、合計 82 個の画像がありましたが、この問題はありませんでした (同じ AVD を使用)。実際、以前のアプリでは、各画像を裏返して複数のコピーを作成していましたが、スペースが不足することはありませんでした。現在のアプリは初期ロードで失敗しています - 多くのことが起こる前に。
誰かが問題が何であるかを教えてもらえますか? そして、どうすればそれを解決できるか、または私のアプローチが間違っているかどうかについて言及することもできます (例から独学しています)