我正在爲iPad製作一本互動書,並使用UINavigationController
來實現頁面與下一頁之間的導航。當用戶翻頁時,下一頁被推到導航堆棧的頂部。在UINavigationController上按下很多視圖控制器時的內存問題
我現在15頁進入應用程序,當我嘗試從第14頁到第15頁時,應用程序崩潰。在控制檯中沒有錯誤消息,設備的任何崩潰日誌都沒有。
故事板中的每個視圖控制器的場景都有UIImageViews
,顯示的圖像大小在5MB到20MB之間。視圖控制器的方法只被調用一次。所有應用程序資產的總大小低於200B。我正在使用ARC。
我已經使用儀器的內存監視器運行應用程序。每當新頁面打開時,該應用程序的真實內存消耗增加約80MB,當達到800MB時(設備爲iPad 3),該應用程序崩潰。
爲什麼如此巨大的內存消耗?這是因爲故事板場景中的UIImageView緩存圖像?
當您使用
UINavigationController
和ARC時,釋放內存的最佳方法是什麼?
我嘗試添加所有視圖控制器的子視圖設置爲在視圖控制器viewDidDisappear:
方法爲零,但內存消耗保持不變。
聽起來像UIPageViewController給我。 – LightningStryk