TransactionTooLargeExceptions on Android 7

问题

适配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"解决)

更多请见:每日一问 | Activity与Fragment的那些事,“用起来没问题,我都要走了,你崩溃了?”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值