我有一個應用程序,有15個不同的部分。我使用一個單獨的Activity和一個FrameLayout,我使用NavigationDrawer加載15個不同的片段。我也有幾個父片段下的子片段,我加載滑動標籤佈局。正在使用很多碎片是一種不好的做法嗎?
因此,總之,我的應用程序中有很多碎片。
問題是,如果我在添加到FrameLayout的同時將碎片添加到BackStack,只要我的應用程序存在(只有View被銷燬,這是設計期望的行爲),碎片永遠不會被破壞。更糟的是,如果用戶不停地懸停在不同的碎片上,BackStack的大小不斷增加,這可能導致內存問題。
所以,我在這裏SO一些suggests against using Fragments at all啓動谷歌搜索,發現多個線程。但是,如果我想使用自己的Activity來設計每個部分,我必須將NavDrawer添加到每個活動(或者至少將這些活動擴展到基本活動),我不確定是否審慎。
這留下了問題,在單個活動中是否有很多碎片是一個好設計?如果沒關係,我應該將這些片段添加到BackStack中嗎?如果我應該,記憶問題呢?最後,有沒有人試過跨不同的活動的NavigationDrawer?它有效嗎?
我對一系列問題表示歉意。
編輯:根據到目前爲止的回覆,我想澄清一點,我知道這是一種通用的問題,並可能導致不同的基於觀點的回答。所以,我想說清楚,我並不是在尋找任何決定性的答案(因爲可能沒有),而是我想開一個討論,從不同的角度來聽。
這個問題只會收到意見基礎的迴應 - 你已經提到了反對意見!你認爲使用活動會更有效率嗎?記住活動也有一個活動堆棧。只有您可以通過測試和分析性能和內存使用情況來回答自己的問題。碎片的數量不是問題,你如何從導航的角度與它們進行交互以及它們包含的內容是...圖像等。 –
嗯,我同意..我知道我問了一個通用的問題。其實,我真的希望得到不同的意見基礎的反應,與更多的經驗編碼人員交叉檢查我的理解。我實際上並不是在尋找一個決定性的答案(因爲沒有,就像你說的那樣)。當然,我在做了研究之後選擇了Fragments,但是爲了聽到矛盾的觀點而開了這個討論。 – abdfahim