成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

android - fresco庫(kù)加載圖片出現(xiàn)OOM,求使用過(guò)的大神解決

瀏覽:165日期:2024-08-29 10:41:35

問(wèn)題描述

有沒(méi)有人使用過(guò)fresco庫(kù)加載圖片解決OOM問(wèn)題的?因?yàn)槲业捻?xiàng)目需要大量加載圖片,用了fresco庫(kù)主要就是想解決GC相關(guān)OOM問(wèn)題,但是發(fā)現(xiàn)項(xiàng)目在AS中使用fresco庫(kù)運(yùn)行在21安卓版本以下還是會(huì)出現(xiàn)OOM問(wèn)題,運(yùn)行在21及以上的版本不會(huì)出現(xiàn)任何問(wèn)題,gradle一些相關(guān)語(yǔ)句如下:compileSdkVersion 23buildToolsVersion ’23.0.3’minSdkVersion 15targetSdkVersion 23compile ’com.facebook.fresco:fresco:0.9.0+’報(bào)錯(cuò)圖片:android - fresco庫(kù)加載圖片出現(xiàn)OOM,求使用過(guò)的大神解決

問(wèn)題解答

回答1:

我能推薦glide么https://github.com/bumptech/g...

回答2:

用Glide吧

回答3:

1、查看系統(tǒng)是否有使用大內(nèi)存的代碼或死循環(huán)。2、可以添加JVM的啟動(dòng)參數(shù)來(lái)限制使用內(nèi)存:-XX:-UseGCOverheadLimit

可以給fresco 添加屬性,改變圖片的大小

回答4:

同推薦glide。代碼簡(jiǎn)單,自動(dòng)壓縮緩存圖片

在5.0(也就是API21)以下系統(tǒng),F(xiàn)resco將圖片放到一個(gè)特別的內(nèi)存區(qū)域。當(dāng)然,在圖片不顯示的時(shí)候,占用的內(nèi)存會(huì)自動(dòng)被釋放。這會(huì)使得APP更加流暢,減少因圖片內(nèi)存占用而引發(fā)的OOM。 fresco中文文檔上面寫(xiě)的

而且現(xiàn)在最新的是 compile ’com.facebook.fresco:fresco:0.13.0’ 了,可以嘗試一下

回答5:

首先說(shuō)一下,我也是來(lái)幫頂?shù)摹?/p>

那些說(shuō)用Glide的我不知道是啥心理。你哪怕說(shuō)說(shuō)為啥用Glide呀(雖然我一直用glide)

遇到問(wèn)題應(yīng)該去解決,換庫(kù)是一種方法,但起碼要嘗試失敗后再去換。

我有個(gè)疑問(wèn),fressco為啥會(huì)oom啊?不是說(shuō)業(yè)界最叼的嗎?

說(shuō)下我的思路:如果樓主真把這個(gè)庫(kù)玩出oom了,我覺(jué)的還是挺厲害的,不妨排查代碼,哪里不合理。如果你覺(jué)得你都對(duì)了,不妨給github發(fā)一個(gè)issue

回答6:

你這個(gè)問(wèn)題我以前使用Fresco時(shí)候遇到過(guò),當(dāng)時(shí)懷疑是Fresco本身問(wèn)題,后來(lái)發(fā)現(xiàn)是自己代碼問(wèn)題,一般情況下,F(xiàn)resco本身是不會(huì)觸發(fā)OOM,建議先檢查自己的代碼。

回答7:

同 Glide

回答8:

這個(gè)是編譯過(guò)程oom,不是運(yùn)行時(shí)oom,和使用什么庫(kù)沒(méi)有關(guān)系。編譯過(guò)程產(chǎn)生oom,需要調(diào)整編譯參數(shù),如 @wordplat 所言

android {dexOptions { javaMaxHeapSize '4g'}}回答9:

你這個(gè)其實(shí)是代碼編譯時(shí)產(chǎn)生的OOM,并不是這個(gè)框架本身產(chǎn)生的問(wèn)題,所以你只需要調(diào)整JVM堆內(nèi)存的大小就可以了。

dexOptions { javaMaxHeapSize '4g'}回答10:

有些時(shí)候還是貼代碼來(lái)的方便