Intent传大量数据导致的崩溃问题

项目中一个地方,需要传递一个很大很大的列表数据(model也特别复杂,盛放的数据量也很大),大到什么程度呢?直接导致跳转Activity时用Intent传值 APP崩溃了.

崩溃Exception: TransactionTooLargeException

其实用Intent传值,是有一个最大的数据限制的,这个限制,不同的手机上不太一样.当我们觉得一个数据实在特别大(比如一个很大的Bitmap)的时候,就别用Intent来传值了.

解决方案:

  1. static 静态变量
  2. 单例
  3. 持久化(文件,SharedPreferences,数据库啥的)

我个人是比较推荐使用单例的方式(只要不是跨进程),这个单例专门用来存储所有的数据,不需要的时候把单例的某个属性赋值为null.

发布了186 篇原创文章 · 获赞 187 · 访问量 76万+

猜你喜欢

转载自blog.csdn.net/xfhy_/article/details/88207213