小编use*_*951的帖子

无法包裹回收位图错误

我正在尝试将图像添加到相机surfaceview并尝试使用以下代码获取该图像.

       else if(v.equals(findViewById(R.id.ok_button))){
//                saveImage();

                topbar.setVisibility(View.GONE);
                menubar.setVisibility(View.GONE);
                bottom.setVisibility(View.GONE);

                View s = ml.getRootView();
                s.setDrawingCacheEnabled(true);

                Bitmap b = s.getDrawingCache();


                Bitmap watermarkimage=b;
                s.setVisibility(View.GONE);
                Log.e("ok","ok");
                Intent i=new Intent(CameraActivity.this,Update.class);
                 i.putExtra("data",watermarkimage);
                 startActivity(i);
                 finish();
                 }
Run Code Online (Sandbox Code Playgroud)

我保存了整个活动以获取图像.通过使用以下代码,我得到了位图

 View s = ml.getRootView();
                s.setDrawingCacheEnabled(true);

                Bitmap b = s.getDrawingCache();
Run Code Online (Sandbox Code Playgroud)

当我尝试将此位图发送到另一个活动时,我收到此错误

12-05 17:58:38.700: E/AndroidRuntime(10590): FATAL EXCEPTION: main
12-05 17:58:38.700: E/AndroidRuntime(10590): java.lang.IllegalStateException: Can't parcel a recycled bitmap
12-05 17:58:38.700: E/AndroidRuntime(10590):    at android.graphics.Bitmap.checkRecycled(Bitmap.java:210)
12-05 17:58:38.700: E/AndroidRuntime(10590):    at android.graphics.Bitmap.writeToParcel(Bitmap.java:960)
12-05 17:58:38.700: E/AndroidRuntime(10590):    at android.os.Parcel.writeParcelable(Parcel.java:1151)
12-05 17:58:38.700: E/AndroidRuntime(10590):    at android.os.Parcel.writeValue(Parcel.java:1070)
12-05 17:58:38.700: E/AndroidRuntime(10590):    at android.os.Parcel.writeMapInternal(Parcel.java:488)
12-05 …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
3601
查看次数

java.lang.IllegalStateException:无法包裹发生回收的位图错误

我试图使用以下代码来获取图像的位图,这是从相机中获取的.我使用这个概念,因为我将图像作为水印添加到拍摄的照片中.所以我只是将活动绘制为位图.

虽然我这样做我得到以下错误(无法包裹回收位图错误发生)

我想将此位图发送到另一个Activity.

如何检查我是否收到图像?

else if(v.equals(findViewById(R.id.ok_button))){


                topbar.setVisibility(View.GONE);
                menubar.setVisibility(View.GONE);
                bottom.setVisibility(View.GONE);

                View s = ml.getRootView();
                s.setDrawingCacheEnabled(true);

                b = s.getDrawingCache();
                Log.e("ok","ok");
                Intent i=new Intent(CameraActivity.this,Update.class);
                 i.putExtra("data",b);
                 startActivity(i);
      //           s.setDrawingCacheEnabled(false);
        //         s.setVisibility(View.GONE);
                 finish();
Run Code Online (Sandbox Code Playgroud)

谢谢

android

1
推荐指数
1
解决办法
5402
查看次数

标签 统计

android ×2