私のアプリケーションで私は画像を保存するデータベースを持っていますが、BitMapで画像を取得しようとすると、ログオフにOutOfMemoryErrorが表示されます。このエラーは表示されません。私のコードがうまく走っている)。OutOfMemoryError:OWMに30836フリーバイトと30KBの82956バイトの割り当てを割り当てられませんでしたか?
デシベルから画像を取得するには、このクラスの試み:
class Abc {
ArrayList <ForBitMap> pic;
Abc() {
pic = new Abc < >();
DataBaseClass objOfDataBaseClass = new DataBaseClass(context);
mCursor = objOfDataBaseClass.showData();
if (mCursor.moveToNext()) {
do {
byte[] mg = null;
mg = mCursor.getBlob(mCursor.getColumnIndex("image"));
Bitmap bitmap = BitmapFactory.decodeByteArray(mg, 0, mg.length);
pic.add(new ForBitMap(bitmap));
} while (mCursor.moveToFirst());
}
}
のArrayListに格納値のため、このクラスの使用(のArrayList PIC;)
class ForBitMap{
Bitmap btmp;
ForBitMap(Bitmap btmp){
this.btmp=btmp;
}
}
logat状況は次のとおりです。
java.lang.OutOfMemoryError: Failed to allocate a 82956 byte allocation with 30836 free bytes and 30KB until OOM
largeHeapを使用してみてください:
は、このリンクを参照してください。 https://developer.android.com/reference/android/R.styleable.html#AndroidManifestApplication_largeHeap –
largeheep = trueを使用すると@SagarNayak logcatは同じエラーを表示します –
どのようなエラーが発生しましたか? –