产生原因及解决办法在stackoverflow上已经有人提过了,说的也很详细。
大致意思是,activity之前,或activty和service之前,以及通过ipc通讯等,传输的内容,比如intent,如果数据量过大就会导致出现这个异常。常见的错误使用:1,传输大文件,比如bitmap等。
刚才我的程序在红米note3上出现了这个问题:选择图片->调用系统截取图片。截取后直接crush了。但,如果截取的是非常非常小的图片,就没有问题,能够成功传回来。 对于这款机型有点无语。。。
为了解决这个问题,我们参照微信是怎么做的。打开微信的头像选择,发现它是跳回到自己定义的界面进行图片截取操作,好吧。。。解决方法很暴力,不使用系统的图片裁剪,自己裁剪。(因为选择图片传回来的是uri,裁剪是直接把图片数据传回来了。)
下版本更新功能,自定义图片裁剪。