onSaveInstanceState限制?

时间:2012-03-21 13:19:17

标签: android

onRetainNonConfigurationInstance弃用以来,我越来越多地利用框架进行配置更改。由于我使用ViewPager来保存我的主要片段,因此无法使用setRetainInstance,这限制了我的配置更改以使用onSaveInstanceState,就像标准的Activity或View一样。

它完美无缺地工作但我现在通过它传递了一个相当大的Serializable数据集,这让我想让社区输入是否是一个好主意。

tl; dr:onSaveInstanceState对你传递的内容有大小限制吗?

2 个答案:

答案 0 :(得分:18)

说一些比“相当大”的东西会有所帮助。 :)

此数据通过IPC,IPC限制约为1MB。你想让你的编组尺寸明显小于那个; 100K可能是一个很好的最大值。而且你真的希望保持尽可能小(想想你放在那里并且不浪费空间),因为即使你自己的进程被杀死,这些数据也必须由系统保存在RAM中。

答案 1 :(得分:-1)

限制是内存限制,因为您没有OutOfMemory错误,所以应该没问题。

确保传递对象上没有任何视图或上下文,因为如果用户不断更改方向,这会导致内存使用迅速增长。