2

ビットマップ画像を他のアクティビティに渡すと、logcat で mag が取得されます-

 03-20 12:06:56.553: E/JavaBinder(280): !!! FAILED BINDER TRANSACTION !!!

大きなサイズの画像で発生しています。小さなサイズの画像はうまく機能しています。どうすればいいですか?助けてください。よろしくお願いします。

ここで私はデータを次のように渡しています-

Drawable drbl=_imageView.getDrawable();
    int imageh=_imageView.getHeight();
    int imagew=_imageView.getWidth();
    Bitmap bit = ((BitmapDrawable)drbl).getBitmap();
    intent.putExtra("Image_Height", imageh);
    intent.putExtra("Image_Width", imagew);
    intent.putExtra("Bitmap",bit);
    startActivityForResult(intent, 2);
4

1 に答える 1

2

その量のデータをエクストラに入れるのは良い方法ではありません。最も簡単な回避策は、新しいビットマップの静的参照を保持することです

public static Bitmap getBitmap(Bitmap changeBitmap){
return bitmap;
} 

使用後はこのようにリサイクルします。

if(changedBitmap!=origanlBitmap)
orignalBitmap.recycle();
于 2013-03-20T07:05:43.010 に答える