我试图通过Intent putExtra方法将捕获的图像的字节数组数据发送到另一个视图但是仅适用于前置摄像头(因为质量较低)比后凸轮)。通过后置摄像头拍摄的图像需要显示年龄,并且大部分时间都会使应用程序崩溃。
我也试过压缩,但那也没有做到。看看我的代码:
captureImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mCamera.takePicture(null, null, new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Intent i = new Intent(CameraActivity.this, ImageEditor.class);
i.putExtra("image", data);
startActivityForResult(i, 0);
}
});
}
});
第二个活动没有打开,应用程序在捕获图像后也没有响应(通过后置摄像头)。然而这适用于前置摄像头,因为我猜测字节阵列的尺寸相对较小,并且需要比后置摄像头捕获的图像更少的内存。
如何解决此问题,以便将活动A中捕获的图像发送到活动B?
答案 0 :(得分:2)
如何解决此问题,以便将活动A中捕获的图像发送到活动B?
最好的答案是:根本不做。如果那些UI紧密耦合,它们应该是一个活动,可能使用多个片段。
下一个最佳答案是:小心地通过static
数据成员传递它(例如,活动A将byte[]
放入static
数据成员,活动B从中获得)。一旦活动B引用了该数据,您需要确保不会泄漏此byte[]
,方法是将数据成员设置为null
。