问题
适配7.0时发生了TransactionTooLargeException的异常.
原因
1、Fragment关闭时会调用onSaveInstanceState,而在onSaveInstanceState中保存了比较大的数据.
2、调用fragment.setArguments(bundle)时,往bundle中放了过大的数据,FragmentManager管理Fragment时saveState报错.
解决办法
1、定位
小项目可以直接去定位是哪个activity/fragment,但是大项目有多个act、frg,所以这里需要使用工具:toolargetool
工具使用(具体的使用已经在md文档里说明):添加依赖、初始化工具、在控制台查看日志
- 如果不能成功导入依赖,
那么只需要在项目的build.gradle里:buildscript-repositories、allprojects-repositories这两个地方都添加maven库) - 因为工具库已由kotlin编写,所以导入项目如果遇到报错:Failed resolution of: Lkotlin/jvm/internal/Intrinsics
可引入implementation "com.mapzen:on-the-road:0.8.4"解决)