Glide.with()可以傳入的參數(shù)是context编丘,Activity,fragment
在加載的過(guò)程中吩翻,如果傳入Activity洞就,fragment那么其生命周期也會(huì)影響到Glide敏弃,如果Activity onPause 則Glide加載也會(huì)暫停债热。所以傳入fragment/activity比傳入context好一點(diǎn)
和 Picasso 比較届榄,Glide 有更加高效的內(nèi)存管理匀哄。Glide 自動(dòng)限制了圖片的尺寸在緩存和內(nèi)存中,并給到 ImageView 需要的尺寸抱究。對(duì)于 Glide恢氯,如果圖片不會(huì)自動(dòng)適配到 ImageView,調(diào)用 override(horizontalSize, verticalSize) 鼓寺。這將在圖片顯示到 ImageView之前重新改變圖片大小勋拟。Glide 將會(huì)默認(rèn)將所有的圖片資源放到內(nèi)存緩存中去 ÷韬颍可調(diào)用 .skipMemoryCache(true) 去明確告訴 Glide 跳過(guò)內(nèi)存緩存敢靡。這意味著 Glide 將不會(huì)把這張圖片放到內(nèi)存緩存中去。這里需要明白的是州丹,這只是會(huì)影響內(nèi)存緩存醋安!Glide 將會(huì)仍然利用磁盤緩存來(lái)避免重復(fù)的網(wǎng)絡(luò)請(qǐng)求杂彭。即使你關(guān)閉內(nèi)存緩存,請(qǐng)求圖片將會(huì)仍然被存儲(chǔ)在設(shè)備的磁盤緩存中吓揪。如果你有一張圖片具有相同的 URL亲怠,但是變化很快,你可能想要連磁盤緩存也一起禁用柠辞。 你可以用 .diskCacheStrategy() 方法為 Glide 改變磁盤緩存的行為团秽。不同的于 .skipMemoryCache() 方法,它需要一個(gè)枚舉而不是一個(gè)簡(jiǎn)答的布爾值叭首。如果你想要為一個(gè)請(qǐng)求禁用磁盤緩存习勤。使用枚舉 DiskCacheStrategy.NONE 作為參數(shù)。
CenterCrop()是一個(gè)裁剪技術(shù)焙格,即縮放圖像讓它填充到 ImageView 界限內(nèi)并且側(cè)鍵額外的部分图毕。ImageView 可能會(huì)完全填充,但圖像可能不會(huì)完整顯示眷唉。
fitCenter() 是裁剪技術(shù)予颤,即縮放圖像讓圖像都測(cè)量出來(lái)等于或小于 ImageView 的邊界范圍。該圖像將會(huì)完全顯示冬阳,但可能不會(huì)填滿整個(gè) ImageView蛤虐。