ギャラリーから(意図的に)画像を取得しようとしています。
このエラーが発生しました:
985120-byte external allocation too large for this process.
Out of memory: Heap Size=4871KB, Allocated=2472KB, Bitmap Size=19677KB
VM won't let us allocate 985120 bytes
それは私が画像を取得する私のコードです:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
....
mBitmap = Media.getBitmap(this.getContentResolver(), data.getData());
...
}
どうすれば解決できますか?
- - - - アップデート - - - - -
既存のイメージ (HTC 写真がインストールされている) を選択すると、このエラーが発生することに気付きました。カメラから選んだ画像を選択すると、すべて正常に動作します。
したがって、このhttp://developer.android.com/training/displaying-bitmaps/load-bitmap.htmlに従ってコードを変更します。
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
InputStream stream = getContentResolver().openInputStream(data.getData());
mBitmap = BitmapFactory.decodeStream(stream,null,options);
stream.close();
しかし今、ビットマップは NULL です !!!