Android 做无数据跳转时报TransactionTooLargeException

  • 这次将sdk版本号升至26后,在7.0以上手机发生报错闪退。
    首页Activity嵌套Fragment,Fragment嵌套ViewPager。
  • debug执行Fragment中onSaveInstanceState后,执行Activity中onStop报错闪退。
    /**
     * 保存退出时的当前数据
     * @param outState
     */
    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putSerializable("product_list", (Serializable) this.mAdertisementList);

    }

    /**
     * 获取退出时保存的数据
     * @param savedInstanceState
     */
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mAdertisementList = (List) savedInstanceState.getSerializable("product_list");
    }
  • 判断由于onSaveInstanceState中Bundle保存数据太大导致报错。
    取消此方法执行后,还是报错。
    debug后发现NoReloadFragmentTabHost中执行了onSaveInstanceState,还是在onStop中保存了数据导致报错。
  • 由于首页数据没有做大小限制,可以无限制的添加,一味的压缩首页数据不能完全解决该问题。也没有更多的时间去替换原代码的ui框架。只能先将sdk恢复原来的版本。

你可能感兴趣的:(Android 做无数据跳转时报TransactionTooLargeException)