關(guān)于SDWebImage使用中發(fā)現(xiàn)內(nèi)存cg-raster-data 猛增(轉(zhuǎn)載)

原地址:http://www.itdecent.cn/p/205c1daa8535
前幾天,項(xiàng)目的功能基本完成差不多的時(shí)候。用allocation檢測了下內(nèi)存運(yùn)行狀況,發(fā)現(xiàn)當(dāng)tableView快速滾動,以及頁面不斷跳轉(zhuǎn)時(shí),cg-raster-data在不斷猛增,甚至達(dá)到了100M之多,并且當(dāng)我將app退回后臺時(shí),也僅僅只是稍微釋放了一點(diǎn)。

為什么當(dāng)加載停止后,內(nèi)存沒有下去呢。一開始認(rèn)為,可能因?yàn)閟dwebimage是會將圖片下載后放進(jìn)內(nèi)存中一直保存至收到內(nèi)存警告,或者主動清除才能釋放掉。于是我在離開加載圖片的頁面時(shí),做了清除緩存及disk的動作,但是仍舊沒用。所以問題不是出在這里。

[[SDImageCachesharedImageCache]clearMemory];
[[SDImageCachesharedImageCache]clearDisk];

然后我嘗試了下將sd的最大下載內(nèi)存占用設(shè)置了小一點(diǎn)。只要同一時(shí)間內(nèi),加載圖片而多出來的內(nèi)存不超過這個大小,是不是就會降低內(nèi)存消耗呢。于是,我用setMaxMemoryCost 方法設(shè)置了最大內(nèi)存。但是發(fā)現(xiàn)了另外個問題。因?yàn)閟dwebimage同時(shí)能保存到內(nèi)存的數(shù)量減少了,每次我下拉加載tableview時(shí),會去從網(wǎng)絡(luò)端不斷的重新加載圖片,導(dǎo)致頁面每次reload時(shí)會閃屏。肉眼能明顯的感覺的每次的閃動,用戶體驗(yàn)特別差。

之后,在一通google。發(fā)現(xiàn)一個別人的解決辦法,很好用,同時(shí)也確實(shí)解決了我的問題。sdwebimage在加載圖片的時(shí)候,默認(rèn)是shouldDecompressImages=Y(jié)ES.也就是框架作者本意是為了讓圖片加載更塊,所以會幫我把圖片解壓至內(nèi)存中,尤其圖片分辨率愈大,內(nèi)存消耗越大。需要將其關(guān)閉。

[[SDImageCache sharedImageCache] setShouldDecompressImages:NO];
[[SDWebImageDownloader sharedDownloader] setShouldDecompressImages:NO];

關(guān)閉后發(fā)現(xiàn),其實(shí)加載時(shí)候并沒有特別明顯的感覺加載速度變慢了。并且內(nèi)存消耗幾乎沒有。其實(shí)開發(fā)者也有在文件里寫明。只是平時(shí)很少有人會去看。

* Decompressing images that are downloaded and cached can improve peformance but can consume lot of memory.

* Defaults to YES. Set this to NO if you are experiencing a crash due to excessive memory consumption.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前幾天,項(xiàng)目的功能基本完成差不多的時(shí)候。用allocation檢測了下內(nèi)存運(yùn)行狀況,發(fā)現(xiàn)當(dāng)tableView快...
    jswx_dj閱讀 4,671評論 18 7
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 30,282評論 8 265
  • 黑夜總是分外的寂寥,蜷縮在一方小小的空間里,狹窄、擁擠、昏暗,與之不同的是,城市的道路上永遠(yuǎn)有人忙于奔走,就像這座...
    郁倦一閱讀 561評論 0 0
  • 你說: 遇見我是意外 認(rèn)識我是意外 喜歡上我也許也是意外…… 我說: 我想…… 我等…… 我期待…… 我遇見你是最...
    尚先生的女人閱讀 183評論 0 0
  • 你說那年大雪 封住歸家之路 車上與她相識 你們一見如故 你說她似孩童 讓人想去保護(hù) 獨(dú)處 再見已是夏暮 街頭宿醉孤...
    于北妧閱讀 154評論 0 1

友情鏈接更多精彩內(nèi)容