我试图在这里传递超过1Mb的数据,数据可能是位图或字符串所以,应用程序抛出的android.os.TransactionTooLarge异常但是低于24 API级别这是一个简单的警告但是> = 24 API它会创建应用程序崩溃级别,所以,我怎么知道这个事务是否有效,否则有任何可用的API表示此事务是否有效?我事先知道交易是否有效?
例如,
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is too long string data...");
startActivity(sendIntent);
答案 0 :(得分:0)
它不是api依赖,它是一个捆绑限制,你不能传输超过1MB的数据。
我不确定您正在谈论的数据类型,但您必须坚持它然后分享它(就像某种网址)
答案 1 :(得分:0)
如果你真的需要测量字符串或位图的大小,你可以得到它的字节数组并按照this link计算。
在您的情况下,您可能不应该在活动之间以捆绑方式传递这些对象。相反,您可以将它放在Singleton对象中,将其放在LRU缓存中或保留它。
如果你需要保持你的对象完好无损,即使应用程序的进程已经死亡,那么你唯一的选择就是坚持它。