私はカメラで撮影した画像を表示し、アプリケーションに表示しようとします。私が(サイズで言う100KB)低解像度画像を撮るとき、私は、高解像度(1.5メガバイト)にそれらを取るとき、私は例外アプリケーションに割り当てられるメモリを増やす
Error java.lang.OutOfMemoryError.
とアプリケーションがクラッシュし、ビットマップ表示への切り替えに問題、短所を持っていません
それは私のスマートフォン(サムスンギャラクシーSII、SIIIギャラクシー)に起こっているすべての棚にあります。 今は写真の質とサイズを低くして手作業で解決しましたが、解像度の向上したカメラの進化を考えると、この問題はより頻繁に発生する可能性があります。 デバイスとコードに手作業で介入することなく、自分のアプリケーションに割り当てられたメモリを増やす恒久的なソリューションはありませんか?
画像は、通常のアプリケーションのデフォルトのメモリ値が16メガバイトであるビットマップ形式
//image creation
Uri domuri1
ContentValues cv = new ContentValues();
cv.remove("101");
domuri1 = getContentResolver().insert(Media.EXTERNAL_CONTENT _URI, cv);
File domthumb1 = new File(domuri1.toString(), fileName1);
//increment photo apparate
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, domuri1);
startActivityForResult(intent, 100);
//images save
ContentResolver cr = getContentResolver();
bitmap1 = MediaStore.Images.Media.getBitmap(cr, domuri1);
imageView.setImageBitmap(bitmap1);
いいえ、これを私のandroidManifestに で追加すると、アンドロイド:label = "@ string/app_name" android:theme = "@アンドロイド:style/Theme.NoTitleBar "android:largeHeap =" true "> エラー:パッケージ 'android'の属性 'largeHeap'のリソース識別子が見つかりません – vetic
対象のAPIバージョンはどれですか? – aProgrammer
私はapi 8でテストした後、私はAPI 11とアンドロイド3.0でテストした – vetic