(隱藏坑)Fresco使用setImageURI出現純黑與卡頓

問題描述: 有個項目發現個奇怪的問題,經過排查,是Fresco使用setImageURI時,出現個別顯示純黑,如下圖,並且主線程卡頓,cup長時間佔用過高的

(低性能設備容易出現,我測試不設置setImageURI,cpu不會超10%,設置後偶爾就會跑到15%)

問題導致原因: 經排查,是顯示尺寸不一致導致的,比如我顯示的尺寸是70x70,但是真實圖片尺寸確有800X800,明顯大大超出了

解決方法: 限制顯示尺寸,參考以下代碼

pic.setController(getController(picStr));


 private DraweeController getController(String picStr) {
        ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(picStr))
                .setResizeOptions(new ResizeOptions(100,100))
                .build();//限制你的顯示尺寸
        DraweeController controller = Fresco.newDraweeControllerBuilder()
                .setImageRequest(request)
                .build();
        return controller;
    }
  註明來源:https://blog.csdn.net/u014614038/article/details/104951272
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章