如何捕捉“失败的活页夹过渡”

时间:2014-08-24 22:38:45

标签: android android-intent android-bitmap

我尝试构建一个解决方法,如果我的代码无法将我的图像arraylist作为额外的Activity放到下一个Activity中。因此,我需要抓住任何类型的“FAILED BINDER TRANSITION”来处理其他代码。

这是我的代码:

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子句未被调用且活动未打开。

我不想压缩我的图像,因为在下一个活动中,它们会显示在详细视图中。我不想将它们保存到文件中,因为我已将图像存储在数据库中。我希望图像能够在下一个活动中加载,就像妥协解决方案一样。

1 个答案:

答案 0 :(得分:1)

  

你有什么想法,我怎么能找到这个尺寸?

你只能获得价值约1MB的Intent额外内容。甚至一个图像可能太大,这取决于图像来自何处(例如,相机全分辨率照片)。

一种方法是通过单例维护图像缓存,并在Intent附加内容中将ID引用传递给该缓存。