1
我需要知道爲什麼我們總是使用A.newInstance()或A()來實例化一個片段的新對象,如果我們知道已經有一個實例存在的話。它不會增加Android中應用的內存使用量嗎?爲什麼總是newInstance或片段對象
在我的情況下,我有一個活動和多個片段,它們由抽屜片段中存在的菜單打開。這些碎片還可能會打開未列在抽屜菜單中的其他碎片。所以我想知道是否正常,每次都要通過頂部片段創建次級片段的新實例。頂級碎片也是如此。
- 片段A(新實例第一次):我的流程進行說明
- 片段B(下位片段/再次新實例中,由A實例化)
- 回到A(通過按壓向上箭頭)
- 片段X(新實例第一次/頂層片段/從抽屜菜單)
- 片段A(/頂層片段/從抽屜菜單A的再次新實例)
是否正確有片段的多個實例A(頂層/點7)和B(較低級/點4 )?當我使用這個策略?
一些額外的細節可以在這裏舉行到。 http://stackoverflow.com/questions/20825600/findfragmentbytag-returns-null-after-perform-a-fragmenttransaction-using-repla –
我使用'add()',因爲我不想調用'onCreateView( )當前片段從Backstack彈出時的前一個片段的方法。但根據你的回答,我假設我需要同時維護'add()'和'replace()'以避免不必要地創建新實例。也沒有維護這種事情的例子。每個示例都演示了新的實例實現。 –
在某些時候,你需要初始化一個實例,但是你應該能夠在稍後使用一個唯一標籤檢索該實例,正如我所解釋的 –