我有一個帶有導航控制器的選項卡式應用程序,其中包含選項卡和視圖控制器。當我按下某個標籤項並深入視圖控制器層次結構(由導航控制器維護)時,當我直接按Tab標籤項時會發生什麼?恕我直言,所有的視圖控制器在內存堆棧中,如果我開始從第一個視圖控制器深入再次導航,然後我將視圖控制器的副本放在導航堆棧上。我應該如何做適當的內存管理?恕我直言,我需要釋放(彈出)屏幕上的所有視圖控制器(除第一個)當用戶點擊一些標籤項目。如何實現這一目標?選項卡式應用程序+導航控制器:如何在按下選項卡時釋放堆疊的UIViewControllers?
0
A
回答
2
系統會照顧卸載聯合國需要意見時,它需要的內存(並重新加載它們在需要時),因此,如果您正確實施的viewDidUnload
和receivedMemoryWarning
方法,你應該罰款。視圖控制器本身幾乎不佔用任何內存(除非你自己分配了大量的東西)。在任何情況下,它們都不會在堆棧上分配,因爲它們是在堆上分配的對象(通用目標c的經驗法則)。當您推送視圖控制器時,它將被保留,當您彈出視圖控制器時,它將被釋放。通常,您不會期望每個選項卡中的導航控制器都會彈出回到根目錄,因爲您按下了另一個選項卡,但如果您確實想要這樣做,那麼您可以使用popToRootViewController
方法。
相關問題
- 1. UITabBar控制器選項卡導航到不同的UIViewControllers
- 2. monotouch導航和選項卡控制器
- 3. 反應導航選項卡導航器特定的選項卡定製
- 4. Android - 導航選項卡 - 刷卡選項卡(固定選項卡)
- 5. 如何把WPF選項卡控制選項卡放在邊上
- 6. 將導航控制器添加到選項卡式應用程序
- 7. 選項卡中帶有導航控制器的選項卡欄應用程序。從視圖交叉
- 8. 在選項卡欄控制器中搜索導航控制器
- 9. 何時釋放選項卡欄應用程序中的對象?
- 10. 如何在所有UIViewControllers中顯示選項卡欄控制器
- 11. 導航選項卡
- 12. 使用PreferenceFragment在底部導航選項卡式應用程序
- 13. 按鈕編程選項卡欄導航應用程序
- 14. 使用帶導航控制器的選項卡欄應用程序
- 15. 導航控制器在應用程序中出現2個選項卡
- 16. 抽屜導航+選項卡導航有太多選項卡
- 17. 在選項卡控制器中選擇了兩個選項卡
- 18. 導航控制器在選項卡控制器不顯示返回按鈕
- 19. 在選項卡式應用程序的另一個選項卡中顯示導航控制器內的視圖控制器
- 20. Flex選項卡導航器:初始化隱藏選項卡
- 21. 流行導航控制器和選擇選項卡?
- 22. 重疊選項卡文本的應用程序中的選項卡欄圖標
- 23. 如何將選項卡添加到Xcode上的選項卡式應用程序
- 24. 我想在選項卡式應用中添加導航控制器
- 25. 可變的jQuery選項卡體,只使用選項卡導航
- 26. 檢測選項卡選擇:選項卡欄控制器
- 27. 更改Access的「導航控制」上的導航選項卡?
- 28. 在堆疊時使用活動引導選項卡
- 29. 使用選項卡式應用程序中的相同選項卡打開視圖控制器
- 30. 如何在選項卡視圖控制器故事板應用程序中添加更多選項卡?
謝謝。我只是試圖阻止在導航堆棧上推送重複的視圖控制器。例如,如果有5個視圖控制器已經推到屏幕上,並且如果我按下標籤欄並開始導航到深層,那麼我是否在屏幕上推動重複的視圖控制器?恕我直言,我推重複,因爲現有的沒有彈出。 – Centurion