-3

ビットマップでメモリ不足の問題があります。これはコードです:

Uri bitmapPictureUri = intent.getParcelableExtra(TaskActivity.PHOTO);
            Bitmap bitmap = null;

            try {
                bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), bitmapPictureUri);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            int nh = (int) (bitmap.getHeight() * (512.0 / bitmap.getWidth()));
            bitmapPicture = Bitmap.createScaledBitmap(bitmap, 512, nh, true);

            picture.setImageBitmap(bitmapPicture);
            fileName.setText(tNameText+"_"+getCurrentTime());

すべて問題ありませんが、向きを変えると outOfMemory が発生します。どうすれば問題を解決できますか? ソフトリファレンスについて考えていますが、それをビットマップに使用する方法がわかりません。何か案が?

4

1 に答える 1

1

アクティビティの開始時にビットマップをリサイクルする

    if(bitmap!=null){
         bitmap.recycle();
         bitmap=null;
    }

こちらもご覧ください

于 2013-07-19T11:30:44.940 に答える