0

我使用MainActivity和一些碎片。不要重新加載活動方向的變化,但仍然重新加載片段

在活動中,我連接到服務器。

我用:android:configChanges="orientation|screenSize"在我的清單。

這樣活動就保持方向更改的連接。

但現在我不能使用不同的港口/陸地(碎片)佈局。

有沒有辦法強制碎片重新加載更改沒有活動重新加載?

回答

0

您需要將活動/片段生命週期之外的網絡操作移動到活動/片段生命週期之外,以便您的活動和片段可以按預期工作,並且可以長時間運行未被活動和片段生命週期中斷的網絡操作。請記住,活動和片段是動態的,有狹義的關注等。它們不是爲網絡操作設計的。這就是爲什麼這麼重視爲各種事情使用後臺線程,爲什麼有服務。例如,您可以使用IntentService來處理您的網絡操作。下面是一個示例,說明如何在發生配置更改時處理恢復/更新信息:https://stackoverflow.com/a/4481297/2306657

+0

不知道服務...服務器連接在重新創建後仍然有效,因爲它在單獨的線程中運行,但我沒有能夠控制任何東西。 謝謝,現在閱讀關於服務的開發頁面。 – TeKo

+0

我讀了關於IntentService的網頁,有人說我不應該在服務中使用循環。 即時連接到服務器,即使我沒有改變任何東西也必須連接,所以當我在我的活動中使用一個開關時服務應該啓動,並在我再次使用該開關時結束。 服務(連接到服務器)正在運行時,我必須通過片段進行通信。 – TeKo