我想通過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