Android 如何抓住一个“机会”;“活页夹转换失败”;
如果我的代码未能将图像arraylist作为下一个活动的额外内容,我会尝试构建一个解决方案。因此,我需要捕获任何类型的“失败的绑定器转换”,以使用另一个代码进行处理 这是我的密码:Android 如何抓住一个“机会”;“活页夹转换失败”;,android,android-intent,android-bitmap,Android,Android Intent,Android Bitmap,如果我的代码未能将图像arraylist作为下一个活动的额外内容,我会尝试构建一个解决方案。因此,我需要捕获任何类型的“失败的绑定器转换”,以使用另一个代码进行处理 这是我的密码: boolean canParsePictures = true; intent.putExtra(EXTRA_CLICKED_PICTURE_INDEX, position); intent.setFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP); try { int
boolean canParsePictures = true;
intent.putExtra(EXTRA_CLICKED_PICTURE_INDEX, position);
intent.setFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
try {
intent.putParcelableArrayListExtra(EXTRA_PICTURES, pictures);// here
startActivity(intent); // or here is the failed binder transition thrown
} catch (Exception e) {
e.printStackTrace();
canParsePictures = false;
Log.d("ContentFragment", "Failed to put Pictures");
}
if (!canParsePictures) {
intent.putParcelableArrayListExtra(EXTRA_ITEMPICTURE_DEPENDENCIES, itemPictureDependencies);
startActivity(intent);
}
此代码中的catch子句未被调用,活动也未打开
我不想压缩我的图像,因为在下一个活动中,它们显示在详细视图中。我不想将它们保存到文件中,因为我已经将图像存储在数据库中。我希望图像在下一个活动中加载,就像折衷解决方案一样
你知道吗,我怎么才能知道那个尺寸
您的Intent
extra限制为~1MB。即使是一张图像也可能太大,这取决于图像的来源(例如,相机全分辨率照片)
一种方法是通过单例维护图像缓存,并在
Intent
extras中传递对该缓存的ID引用。这是一个次要错误,请修复导致该错误的原始问题。我认为错误是由我在extras中解析了太多图像数据引起的。我试着只放一张图片,结果成功了。否则,可以根据可分配阵列列表的大小来决定。你知道吗,我怎么才能知道那个尺寸?