我想通过UI片段中的配置更改(轮换)保留临时变量。我读过一般你不应该在UI片段上使用setRetainInstance(true)。我在这里有什么选择?我是否必须求助于使用带有setRetainInstance(true)附加到我的片段的非ui子片段?我想尽量避免,如果可能的话,孩子的碎片可能令人沮丧。Android:通过配置更改在UI片段中保留变量
此外,我真的希望保持碎片变量封装在片段本身。我可以将数据存储在附加到该活动的另一个非ui片段中,但我不想。似乎应该有一个更简单的方法来做到这一点。我希望片段有类似onRetainNonConfigurationInstance()作为后备。
感谢您的帮助。
如果您的Fragment按照[文档]位于背面堆栈,则不能使用'setRetainInstance'(http://developer.android.com/reference/android/app/Fragment.html#setRetainInstance(布尔值)) – Jonathan
我不确定在什么情况下生效。我总是向后台添加碎片,并且它们都有setRetainInstance(true)。 – athor
我一直在网上查找过去2小时。发现了大量的参考文献,暗示你不应该在UI片段中使用retaininstance,但除了谷歌的说明外,没有任何真正的官方说法,说不要在后台使用它们。主要关心似乎是内存泄漏和后台堆栈。 – craigrs84