ギャラリーの電話で写真を選択する機能に大きな問題があります。写真を選択し、URI を取得し、ストリームをビットマップに入れるために「onActivityResult」でストリームを読み取ると、「outoffmemoryerror」が発生します。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
InputStream is = getContentResolver().openInputStream(mSelectedUri);
Bitmap bitmap = BitmapFactory.decodeStream(is);
}
他のコードを試しましたが、同じ問題があります。まあ、写真次第です!
私はこれを見つけました: http://developer.android.com/training/displaying-bitmaps/index.html そして http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
「java.lang.OutOfMemory 例外を回避するには、ビットマップをデコードする前にサイズを確認してください。ソースが、利用可能なメモリ内に快適に収まる予測可能なサイズの画像データを提供することを完全に信頼している場合を除きます。」