慎用ViewController的跳轉


慎用ViewCtrl的跳轉!

 

搞iphone開發的,應該都知道MVC,頂半邊天的UIViewCtrl,區分好Modle、View、Controller各自的作用。這里要提醒的是,勿濫用UIViewCtrl的跳轉。

 

從一個Controller跳轉到另一個Controller時,一般有以下2種:

1、利用UINavigationController,調用pushViewController,進行跳轉;這種采用壓棧和出棧的方式,進行Controller的管理。調用popViewControllerAnimated方法可以返回。

 

2、利用UIViewController自身的presentModalViewController,進行跳轉;調用dismissModalViewControllerAnimated方法可以返回。

 

然而這2種UIViewCtrl的跳轉,其實並沒有釋放原有的Controller(可以在delloc輸出日志或利用Instruments查看程序內存)。所以要小心使用,一般有以下3個注意點:

 

1、小心死循環或死胡同,如:有2個Controller,第一個跳轉調用第二個,第二個在某些特殊情況下又會調用和展現第一個Controller,這樣就有可能導致死循環或占用太多內存而退出程序。

 

2、生物鏈不要太長。所謂生物鏈就是像下面這種形式:

ctrl1->ctrl2->ctrl3->ctrl4->ctrl5...

應該換成:

ctrl1->ctrl2

ctrl1->ctrl3

ctrl1->ctrl4

ctrl1->ctrl5

...

 

3、Controller中的View太多或圖片太多,盡量不要將它壓棧,應該盡量用完就釋放它(這種出現的可能性比較大,我之前也遇到過,一開始還以為是內存泄漏)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM