私は画像を保存したいのですが、画像を保存するためにsqlite DataBaseを使用しています。私は10〜12枚の画像を入れたときにコードがうまく動作しますが、その後OutOfMemoryErrorが表示されます。私はアンドロイドを使用します:largeHeap = "true"それはメモリのいくつかの量を増加させるが、これは私のwork.howのために十分ではない?OutOfMemoryError:OWまで482112の空きバイトと470KBの3686412バイト割り当てを割り当てられませんでしたか?
これは私のコードです:イメージが非常に大きい場合
if(data==null){
Uri uri = data.getData();
try {
InputStream inputStream = getContentResolver().openInputStream(uri);
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
Bitmap bmp = BitmapFactory.decodeStream(bufferedInputStream);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, bos);
byte[] bArray = bos.toByteArray();
DataBase dataBase=new DataBase(getBaseContext());
dataBase.insertImage(bArray);
Toast.makeText(getBaseContext(),"single item ",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
イメージをメモリに保存し、パスのみをsqliteに保存します。 – Sharj
ファイル内の@Sharj u meanですか? –