iOS面試題錦集(二)——內(nèi)存管理

1. 怎么在多人開發(fā)時進(jìn)行內(nèi)存泄漏的檢測敛滋?

  • 使用Analyze進(jìn)行代碼的靜態(tài)分析;
  • 為避免不必要的麻煩,多人開發(fā)時盡量使用ARC

2. 非ARC情況下怎么做單例模式?

  • 創(chuàng)建單例設(shè)計模式的基本步驟:
    1. 聲明一個單例對象的靜態(tài)實例捷兰,并初始化為nil;
    2. 創(chuàng)建一個類的類工廠方法负敏,當(dāng)且僅當(dāng)這個類的實例為nil時生成一個該類的實例贡茅;
    3. 實現(xiàn)NSCopying協(xié)議,覆蓋allocWithZone:方法其做,確保用戶在直接分配和初始化對象時友扰,不會產(chǎn)生另一個對象;
    4. 覆蓋release庶柿、autorelease、retain秽浇、retainCount方法浮庐,以此確保單例的狀態(tài);
    5. 在多線程的環(huán)境中柬焕,注意使用@synchronized關(guān)鍵字或GCD审残,確保靜態(tài)實例被正確的創(chuàng)建和初始化。

3. 對于類方法(靜態(tài)方法)默認(rèn)是autorelease的斑举,所有類方法都會這樣嗎搅轿?

  • 系統(tǒng)自帶的絕大多數(shù)類方法返回的對象都是經(jīng)過autorelease的

4. block在ARC中和MRC中的用法有什么區(qū)別,需要注意什么富玷?

  • 對于沒有引用外部變量的Block璧坟,無論在ARC還是非ARC下,類型都是__NSGlobalBlock__赎懦,這種類型的block可以理解成一種全局的block雀鹃,不需要考慮作用域的問題。同時励两,對它進(jìn)行Copy或者Retain操作也是無效的黎茎;
  • 應(yīng)注意避免循環(huán)引用

5. 什么情況下會發(fā)生內(nèi)存泄漏和內(nèi)存溢出?

  • 當(dāng)程序在申請內(nèi)存后当悔,無法釋放已申請的內(nèi)存空間(例如一個對象或者變量使用完成沒有釋放傅瞻,這個對象一直占用著內(nèi)存),一次內(nèi)存泄漏危害可以忽略盲憎,但是內(nèi)存泄漏堆積后果很嚴(yán)重嗅骄,無論多少內(nèi)存,遲早會被占光焙畔。 內(nèi)存泄漏會最終導(dǎo)致內(nèi)存溢出掸读!
  • 當(dāng)程序在申請內(nèi)存時,沒有足夠的內(nèi)存空間供其使用,出現(xiàn)out of memory儿惫;比如申請一個int澡罚,但是給它存了long才能存下的數(shù),那就是內(nèi)存溢出肾请。

6. [NSArray arrayWithObject:<id>] 這個方法添加對象后留搔,需要對這個數(shù)組做釋放操作嗎?

  • 不需要铛铁,這個對象被放到自動釋放池中

7. JSON數(shù)據(jù)的解析方案隔显?解析數(shù)據(jù)的時候有內(nèi)存泄漏嗎?有的話饵逐,如何解決括眠?

  • JSON解析的方案:
    • SBJSON
    • JSONKit
    • NSJSONSerialization
  • 看解析的方法和實現(xiàn),一般來說倍权,比較少會出現(xiàn)內(nèi)存泄漏掷豺。內(nèi)存泄漏和JSON數(shù)據(jù)解析本身沒太大關(guān)系。

8. 自動釋放池底層是怎么實現(xiàn)的薄声?

  • 自動釋放池以棧的形式實現(xiàn):當(dāng)創(chuàng)建一個新的自動釋放池時当船,它將被添加到棧頂。當(dāng)一個對象收到發(fā)送autorelease消息時默辨,他被添加到當(dāng)前線程的處于棧頂?shù)淖詣俞尫懦刂械缕担?dāng)自動釋放池被回收時,它從棧中被刪除缩幸,并且會給池子里面所有的對象都會做一次release操作壹置。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市桌粉,隨后出現(xiàn)的幾起案子蒸绩,更是在濱河造成了極大的恐慌,老刑警劉巖铃肯,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件患亿,死亡現(xiàn)場離奇詭異,居然都是意外死亡押逼,警方通過查閱死者的電腦和手機(jī)步藕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挑格,“玉大人咙冗,你說我怎么就攤上這事∑” “怎么了雾消?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵灾搏,是天一觀的道長。 經(jīng)常有香客問我立润,道長狂窑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任桑腮,我火速辦了婚禮泉哈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘破讨。我一直安慰自己丛晦,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布提陶。 她就那樣靜靜地躺著烫沙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隙笆。 梳的紋絲不亂的頭發(fā)上斧吐,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機(jī)與錄音仲器,去河邊找鬼。 笑死仰冠,一個胖子當(dāng)著我的面吹牛乏冀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播洋只,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼辆沦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了识虚?” 一聲冷哼從身側(cè)響起肢扯,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎担锤,沒想到半個月后蔚晨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡肛循,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年铭腕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片多糠。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡累舷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出夹孔,到底是詐尸還是另有隱情被盈,我是刑警寧澤析孽,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站只怎,受9級特大地震影響袜瞬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尝盼,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一吞滞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盾沫,春花似錦裁赠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蕾哟,卻和暖如春一忱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谭确。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工帘营, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逐哈。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓芬迄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親昂秃。 傳聞我的和親對象是個殘疾皇子禀梳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 內(nèi)存管理 簡述OC中內(nèi)存管理機(jī)制。與retain配對使用的方法是dealloc還是release肠骆,為什么算途?需要與a...
    丶逐漸閱讀 1,963評論 1 16
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,139評論 30 470
  • 內(nèi)存管理 ARC處理原理 ARC是Objective-C編譯器的特性,而不是運行時特性或者垃圾回收機(jī)制蚀腿,ARC所做...
    b485c88ab697閱讀 11,202評論 3 47
  • 1.Difference between shallow copy and deep copy? 淺復(fù)制和深復(fù)制的...
    用心在飛閱讀 991評論 0 9
  • 1.跳出問題本身嘴瓤,才能找到最佳解決方案。 我們有時候往往被問題的本身所限制莉钙,題目要求非此即彼纱注,實際上我們的答案是可...
    好聽的暖陽閱讀 139評論 6 1