自从onRetainNonConfigurationInstance被弃用以来,我越来越多地利用该框架进行配置更改。因为我使用ViewPager来保存我的主要片段,所以我不能使用setRetainInstance,它限制了我的配置更改只能像标准的Activity或View那样使用onSaveInstanceState。
它工作得很好,没有任何问题,但我现在正在通过它传递一个相当大的可序列化的数据集,这让我想要让社区输入它是否是一个好主意。
tl;dr : onSaveInstanceState对通过它的内容有大小限制吗?
发布于 2012-03-31 09:46:18
说一些比“相当大”更多的东西会更有帮助。:)
此数据通过IPC,IPC限制约为1MB。您希望将编组大小保持明显小于此大小;100K可能是一个很好的最大值。实际上,您希望使其尽可能小(考虑您在其中放入的内容,不要浪费空间),因为即使您自己的进程被终止,这些数据也必须由系统保存在RAM中。
发布于 2012-03-30 04:03:50
限制是内存限制,因为您没有出现OutOfMemory错误,这应该没问题。
只需确保在传递的对象上没有任何View或Context,因为如果用户不断改变方向,这可能会导致内存使用量迅速增加。
https://stackoverflow.com/questions/9805441
复制相似问题