iOS優(yōu)化(一)內(nèi)存優(yōu)化經(jīng)驗(yàn)

最近一直在做公司app內(nèi)存優(yōu)化相關(guān)事宜耿导,排查別人的代碼声怔,也能給自己一些警示。現(xiàn)在整理出一些內(nèi)存管理出的問題碎节,希望能幫助到大家捧搞。

問題1:多個(gè)頁面無法成功dealloc,內(nèi)存沒有被釋放

解決步驟:在viewDidDisAppear中狮荔,發(fā)現(xiàn)retainCount為6胎撇,證明此時(shí)這個(gè)ViewController還存在引用計(jì)數(shù),查了各種self的引用之后殖氏,萬萬沒想到晚树,十幾個(gè)地方都這樣:

1.png

還記得我寫的這篇文章么:記今天調(diào)試了一條迷の閃退問題。一開始我以為是delegate的問題雅采,但是萬萬沒想到...
當(dāng)時(shí)自己一個(gè)不注意坑了自己爵憎,這回被同事坑了。這邊代碼是個(gè)不主做iOS方向的同事寫的婚瓜,OC的默認(rèn)類型是atomic , strong , readwrite宝鼓,然而他并不知道。
問題原因:內(nèi)存不被釋放主要是self被delegate強(qiáng)引用了巴刻。由此還造成了一部分閃退問題愚铡,因?yàn)榇蟛糠滞ㄖ淖N都寫在dealloc中,所以通知無法注銷胡陪,導(dǎo)致各種調(diào)用滿天飛沥寥,畫面太美不敢看。

問題2:某頁面成功dealloc柠座,但是仍有內(nèi)存殘留

解決步驟:instrument調(diào)試后邑雅,發(fā)現(xiàn)沒被釋放的全是imageIO,差不多就知道了妈经,把讀圖的方式淮野,從[UIImage imageNamed:@""],改成imageWithContentsOfFile捧书,就可以了。

2.png

問題原因:imageNamed讀取圖片的方法骤星,會緩存在內(nèi)存中鳄厌,所以較大的圖片,還是用imageWithContentsOfFile妈踊。
TIPs1:.xcassets里的圖片無法用imageWithContentsOfFile讀取泪漂;
TIPs2:imageWithContentsOfFile讀取圖片需要加文件后綴名如png廊营,jpg等;

問題3:圖片讀取總是出現(xiàn)迷之內(nèi)存殘留

解決步驟:
這個(gè)問題找了我很久萝勤,發(fā)現(xiàn)每次讀緩存(memory)的時(shí)候都不會有內(nèi)存增加露筒,而從磁盤(disk)讀取的時(shí)候,就會有問題敌卓。然后我就一步一步排查慎式。最后在block里發(fā)現(xiàn)了這個(gè):

3.png

寫這段代碼的出來我們聊聊人生。
"( *?ω?)?╰ひ╯
問題原因:block里沒有使用弱引用趟径,導(dǎo)致一直持有self得不到釋放瘪吏。
TIPs:block引用self要慎重,如果self釋放后仍有業(yè)務(wù)邏輯要在block中運(yùn)行蜗巧,可以再對weakSelf強(qiáng)引用一下掌眠。

問題4:使用GPUImage處理拍照的時(shí)候,內(nèi)存穩(wěn)定不明增長幕屹。

問題原因:
喵神之前在博客發(fā)的一個(gè)問題
是Xcode7.1的問題蓝丙。。只在debug的時(shí)候?qū)е聝?nèi)存崩潰望拖,release的時(shí)候并不會造成內(nèi)存溢出渺尘,所以可以不必管它。

簡書已經(jīng)棄用说敏,歡迎移步我的小專欄:
https://xiaozhuanlan.com/dahuihuiiOS

如果對你有用鸥跟,點(diǎn)個(gè)喜歡唄~你們的喜歡是我寫文的最大動力么么扎

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市像云,隨后出現(xiàn)的幾起案子锌雀,更是在濱河造成了極大的恐慌,老刑警劉巖迅诬,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腋逆,死亡現(xiàn)場離奇詭異,居然都是意外死亡侈贷,警方通過查閱死者的電腦和手機(jī)惩歉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門等脂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人撑蚌,你說我怎么就攤上這事上遥。” “怎么了争涌?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵粉楚,是天一觀的道長。 經(jīng)常有香客問我亮垫,道長模软,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任饮潦,我火速辦了婚禮燃异,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘继蜡。我一直安慰自己回俐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布稀并。 她就那樣靜靜地躺著仅颇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碘举。 梳的紋絲不亂的頭發(fā)上灵莲,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音殴俱,去河邊找鬼政冻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛线欲,可吹牛的內(nèi)容都是我干的明场。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼李丰,長吁一口氣:“原來是場噩夢啊……” “哼苦锨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起趴泌,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤舟舒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后嗜憔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秃励,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年吉捶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夺鲜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皆尔。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖币励,靈堂內(nèi)的尸體忽然破棺而出慷蠕,到底是詐尸還是另有隱情,我是刑警寧澤食呻,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布流炕,位于F島的核電站,受9級特大地震影響仅胞,放射性物質(zhì)發(fā)生泄漏浪感。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一饼问、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧揭斧,春花似錦莱革、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至旦万,卻和暖如春闹击,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背成艘。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工赏半, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人淆两。 一個(gè)月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓断箫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親秋冰。 傳聞我的和親對象是個(gè)殘疾皇子仲义,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

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

  • 最近一直在做公司app內(nèi)存優(yōu)化相關(guān)事宜,排查別人的代碼剑勾,也能給自己一些警示“D欤現(xiàn)在整理出一些內(nèi)存管理出的問題,希望能...
    然哥哥閱讀 1,180評論 0 50
  • 前言 現(xiàn)在iOS開發(fā)已經(jīng)是arc甚至是swift的時(shí)代虽另,但是內(nèi)存管理仍是一個(gè)重點(diǎn)關(guān)注的問題暂刘,如果只知盲目開發(fā)而不知...
    明仔Su閱讀 26,541評論 16 175
  • 現(xiàn)在iOS開發(fā)已經(jīng)是ARC甚至是swift的時(shí)代,但是內(nèi)存管理仍是一個(gè)重點(diǎn)關(guān)注的問題捂刺,如果只知盲目開發(fā)而不知個(gè)中原...
    碼代碼的小馬閱讀 562評論 0 1
  • iOS面試小貼士 ———————————————回答好下面的足夠了------------------------...
    不言不愛閱讀 1,966評論 0 7
  • 其實(shí)很早就發(fā)現(xiàn)過加寶會主動關(guān)心人鸳惯,記得我一說肚子疼商蕴,寶就會問“媽媽沒事吧”,過了好一陣還會問“媽媽還疼嗎芝发?”不過之...
    roserao閱讀 252評論 0 0