成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS開發 UIViewController內存管理

移動開發 iOS
本文介紹的是iOS開發 UIViewController內存管理,在 iOS 3.0 后,UIViewController 多了一個叫做 viewDidUnLoad 的方法,我們先來看內容。

iOS開發 UIViewController內存管理是本文要介紹的內容,在 iOS 3.0 后,UIViewController 多了一個叫做 viewDidUnLoad 的方法。不少人都不清楚這個方法的具體意義,蘋果的文檔也就一句 ”Called when the controller’s view is released from memory” 簡單的解釋了下,并要求你把 IBOutlet 綁定的視圖給清空,為什么呢?

先看下 UIViewController 從創建 view 到展示的流程的幾個函數

  1. -init  
  2. -initWithNibName:bundle: 

這兩個方法都是初始化一個 vc,但請注意 view 不是這時候載入的

  1. -loadView  
  2. -viewDidLoad 

當一個視圖準備展現時,vc 首先會判斷 view 是否已經創建否則便通過之前指定的 xib 文件來初始化 view,以及綁定其他關系(若沒有指定 xib 文件,則默認會搜索和 vc 同名的 xib,比如 myNameViewController 就會搜索 myNameViewController.xib 文件)

若是沒有 xib 文件,你就可以在 loadview 中自己手動創建這個 viewControoler 需要的視圖。接下來就是調用到 -viewDidLoad,許多人喜歡在這里做些其他事情,比如做個 http 請求、建立個數組啥的。這里若不處理正確,-viewDidUnload 激活時內存就容易泄露了,稍后提到。

  1. -view()appear  
  2.  -view()disappear 

這幾個方法就不解釋了

  1. -viewDidUnload 

該方法在收到內存警告,同時該視圖并不在當前界面顯示時候會被調用,此時該 controller 的 view 已經被釋放并賦值為 nil。

接下來你要做的是把實例變量的子視圖釋放(IBOulet 的,以及自己添加的) 其他實例變量,比如之前在 -viewDidLoaded 中實例的數據數組、http 請求釋放掉

因為當該 viewController 再次被激活準備顯示時(比如 navigationControler 返回到上一級),vc 發現自己的 view 為空后會重復之前的流程直到把 view 給創建起來。若沒將自己額外添加的子視圖,各種類實例變量釋放,這里便會重新再次創建。

于是,內存泄露了。

小結:詳解UIViewController 內存管理的內容介紹完了,希望本文對你有所幫助。

轉自 http://ixhan.com/2011/02/uiviewcontroller-memory-manage/

責任編輯:zhaolei 來源: Cocoa China
相關推薦

2017-03-07 10:15:35

iOS內存管理開發

2018-07-23 09:26:08

iOS內存優化

2011-08-22 11:07:16

IOS 開發多核內存

2017-02-09 21:24:22

iOS內存管理

2016-04-11 09:30:49

內存管理ios開發

2011-09-01 10:42:14

Objective-CCocoa內存管理

2015-03-13 09:30:23

iOS內存管理

2012-01-18 14:14:29

iOS教程iOS5

2014-07-31 10:48:09

Android內存管理OOM

2011-08-17 16:23:31

iPhone開發UIViewContr

2011-08-02 10:50:56

iOS開發 內存緩存

2012-02-01 13:57:40

內存緩存機制

2013-12-17 15:46:04

iOS開發iOS 內存泄漏

2015-06-25 09:47:20

iOS內存管理

2014-03-12 09:37:22

內存管理autoreleaseautorelease

2011-07-21 17:40:43

iOS 多核 內存

2011-08-05 16:41:48

iOS 隊列 內存

2016-03-03 10:07:39

ios內存管理面試總結

2011-07-26 15:14:24

蘋果 Cocoa 內存

2017-06-30 15:58:07

Android開發內存
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区高清 | 毛片网站在线观看 | 日日操日日干 | 午夜一区二区三区在线观看 | 欧美日韩久久精品 | 天天草夜夜骑 | 亚洲欧洲精品成人久久奇米网 | 国产精品久久性 | 黄色一级大片在线免费看产 | 亚洲欧美综合精品久久成人 | 亚洲成人99 | 日韩精品视频在线免费观看 | 一本岛道一二三不卡区 | 欧美高清一区 | 玖玖玖在线观看 | 日韩在线中文 | 成人黄色av网站 | 羞羞在线视频 | 日韩一区二区在线免费观看 | 欧美在线二区 | 国产 欧美 日韩 一区 | 女同久久另类99精品国产 | 婷婷福利视频导航 | 中文字幕在线视频免费视频 | 亚洲国产精品99久久久久久久久 | 国产精品视频一区二区三区不卡 | 国产操操操 | 七七婷婷婷婷精品国产 | 精品日韩在线 | 欧美日韩在线看 | 日日干日日操 | 日本视频在线 | 欧美 日韩 中文 | 亚洲色图在线观看 | 干一干操一操 | 久久国产精品72免费观看 | 日韩三 | 国产精品美女久久久久 | 亚洲一区二区三区四区五区中文 | 99久久99 | 亚洲国产精品一区二区三区 |