關(guān)于使用SDWebImage內(nèi)存爆漲的問(wèn)題

這幾天在做一個(gè)需求回官,需要在一系列的控制器里下載N張圖片甘畅。最方便最省事的解決方案當(dāng)然首選SDWebImage這個(gè)框架(相信也很少不去用它的)。把圖片地址放進(jìn)去康吵,返回一個(gè)圖片劈榨,輕松,快捷晦嵌,令人幸福同辣,直到看到下面這個(gè)畫(huà)面。

屏幕快照 2016-07-14 下午4.56.39.png

什么鬼惭载!內(nèi)存竟然從20M給我彪到了180+M旱函!而且當(dāng)我把控制器移除之后,內(nèi)存竟然也沒(méi)有絲毫的下降描滔,這在APP上可完全不行棒妨。一開(kāi)始我并沒(méi)有想到是SD的問(wèn)題,以為是我代碼有什么問(wèn)題含长,造成了循環(huán)引用券腔,內(nèi)存沒(méi)有釋放,于是乎拘泞,打開(kāi)Leaks纷纫,查起來(lái)。

屏幕快照 2016-07-14 下午5.04.59.png

恩陪腌,是發(fā)現(xiàn)了AF中的一些內(nèi)存泄漏問(wèn)題辱魁,但是也只有10+KB啊烟瞧,剩下的150MB的內(nèi)存是哪里來(lái)的呢,只能一步步盤(pán)查起來(lái)染簇。

B5573D21-43A2-4453-BE49-853A758935D6.png

抽絲剝繭参滴,我們看到,大部分的內(nèi)存都顯示在SDWebImage的

- (UIImage *)diskImageForKey:(NSString *)key {
    NSData *data = [self diskImageDataBySearchingAllPathsForKey:key];
    if (data) {
        UIImage *image = [UIImage sd_imageWithData:data];
        image = [self scaledImageForKey:key image:image];
        if (self.shouldDecompressImages) {
            image = [UIImage decodedImageWithImage:image];
        }
        return image;
    }
    else {
        return nil;
    }
}

這個(gè)方法里產(chǎn)生的

SDWebImage的源碼分析網(wǎng)上一搜一大把锻弓,這里就不多說(shuō)了砾赔。這里說(shuō)一下怎么解決這個(gè)內(nèi)存問(wèn)題。
首先在網(wǎng)上搜了一下弥咪,有的人是直接修改第三方內(nèi)部源碼解決的过蹂。這里不推薦,因?yàn)榇蟛糠珠_(kāi)發(fā)者是通過(guò)cocoapods安裝的的框架聚至,這里修改起來(lái)也不是很方便。

其實(shí)很簡(jiǎn)單本橙,清除cache扳躬,只要在合適的時(shí)機(jī)去調(diào)用它就行

 [[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"];

使用之后,內(nèi)存瞬間下來(lái)甚亭,清清爽爽贷币。

網(wǎng)上說(shuō)把它放在applicationDidReceiveMemoryWarning里調(diào)用,但是我沒(méi)有亏狰,因?yàn)樵谝恍├蠙C(jī)型里役纹,比如iPhone4,內(nèi)存爆炸的時(shí)候瞬間就crash了暇唾,來(lái)不及去調(diào)這個(gè)促脉,所以我建議在做一些大圖片多圖片處理的時(shí)候,最好隨時(shí)的去清理一下策州。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瘸味,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子够挂,更是在濱河造成了極大的恐慌旁仿,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孽糖,死亡現(xiàn)場(chǎng)離奇詭異枯冈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)办悟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)尘奏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人誉尖,你說(shuō)我怎么就攤上這事罪既。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵琢感,是天一觀的道長(zhǎng)丢间。 經(jīng)常有香客問(wèn)我,道長(zhǎng)驹针,這世上最難降的妖魔是什么烘挫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮柬甥,結(jié)果婚禮上饮六,老公的妹妹穿的比我還像新娘。我一直安慰自己苛蒲,他們只是感情好卤橄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著臂外,像睡著了一般窟扑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漏健,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天嚎货,我揣著相機(jī)與錄音,去河邊找鬼蔫浆。 笑死殖属,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瓦盛。 我是一名探鬼主播洗显,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼谭溉!你這毒婦竟也來(lái)了墙懂?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扮念,失蹤者是張志新(化名)和其女友劉穎损搬,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體柜与,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巧勤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弄匕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颅悉。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖迁匠,靈堂內(nèi)的尸體忽然破棺而出剩瓶,到底是詐尸還是另有隱情驹溃,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布延曙,位于F島的核電站豌鹤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏枝缔。R本人自食惡果不足惜布疙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愿卸。 院中可真熱鬧灵临,春花似錦、人聲如沸趴荸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赊舶。三九已至睁搭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笼平,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工舔痪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寓调,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓锄码,卻偏偏與公主長(zhǎng)得像夺英,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滋捶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 問(wèn)題:控制器里下載N張圖片痛悯,當(dāng)圖片過(guò)大(圖片質(zhì)量和尺寸)使用SDWebImage時(shí),快速滑動(dòng)頁(yè)面進(jìn)行加載會(huì)撐爆內(nèi)存...
    神采飛揚(yáng)_2015閱讀 1,471評(píng)論 3 0
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評(píng)論 25 707
  • 看了看自己的簡(jiǎn)書(shū)頭像重窟,上面有兩行話:堅(jiān)持到無(wú)能為力 拼搏到感動(dòng)自己载萌。那么何謂堅(jiān)持呢,哪種程度又是無(wú)能為力呢巡扇? 自從...
    杰杰杰靈閱讀 281評(píng)論 2 2
  • 今天第一次閱讀這本書(shū)扭仁,從打開(kāi)書(shū)的第一頁(yè)開(kāi)始,讀了它的序厅翔,后來(lái)又讀了ta的正文乖坠。到現(xiàn)在為止已經(jīng)閱讀了20%多的內(nèi)容。...
    舞傾城夏閱讀 342評(píng)論 0 0
  • 夕有妹哀傷刀闷, 今日天艷陽(yáng)熊泵。 句話解心結(jié)仰迁, 滴酒謝師兄。
    仁者見(jiàn)智閱讀 310評(píng)論 0 0