android.os.TransactionTooLargeException
android.os.TransactionTooLargeException: data parcel size 725216 bytes
1 | android.os.TransactionTooLargeException: data parcel size 725216 bytes |
问题原因
Intent内携带的数据过大
解决方法
将传递的信息封装在一个静态的类中,或则封装在跳转对象的一个静态属性中,效率高,但是耦合性也高!(这种方法在stackoverflow网站看到的,有兴趣可以点击查看详情)
1
2
3
4Intent intent = new Intent(this,SecondActivity.class);
DataSave.setValue(value);//将value设置到静态类DataSave中
//SecondActivity.value = value;//或则将value设置到SecondActivity的静态属性中
startActivity(intent);将传递的信息做本地存储,如SP存储、数据库等,然后在跳转对象中取出来,不会提高程序的耦合性,但是效率较低。
存储实体类,首先可以使用Gson将实体转为json串(可以使用new Gson().toJson()方法),然后进行存储,最后在跳转对象中取出再利用Gson转为实体即可(可以使用new Gson().fromJson()方法)。