Glide 緩存使用


開發中遇到的問題,使用glide加載網絡圖片,每次更換頭像后返回頁面要同步顯示已改過的頭像。

我們服務端是每次上傳的個人頭像只是替換原圖,路徑並不變。

這就導致glide加載時會使用緩存的圖片,導致頁面圖片顯示不同步。

針對這個問題,我做了如下優化去掉磁盤緩存

 Glide.with(this).load(imagePath).asBitmap().diskCacheStrategy(DiskCacheStrategy.NONE)
                .placeholder(R.drawable.defaultusericon_1).into(new BitmapImageViewTarget(ivPersonal) {
            @Override
            protected void setResource(Bitmap resource) {
                RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(context.getResources(), resource);
                roundedBitmapDrawable.setCircular(true);
                ivPersonal.setImageDrawable(roundedBitmapDrawable);
            }
        });

然而並沒有什么卵用,惆悵許久才知道glide還會有個內存緩存,修正如下:

 Glide.with(this).load(imagePath).asBitmap().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE)
                .placeholder(R.drawable.defaultusericon_1).into(new BitmapImageViewTarget(ivPersonal) {
            @Override
            protected void setResource(Bitmap resource) {
                RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(context.getResources(), resource);
                roundedBitmapDrawable.setCircular(true);
                ivPersonal.setImageDrawable(roundedBitmapDrawable);
            }
        });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM