glide庫想必大家都非常喜歡使用,無論是載入gif或者bitmap圖,都如絲般順滑!!! 但是,但是,就在這個但是上,你是否遇到過glide載入失敗的情況呢??
問題追蹤過程:
1.url位址有問題? 抓到url放到瀏覽器,完全能正常展示
2.glide有bug? 但是別的手機都是ok,都能正常展示呢? 這怎麼解釋?
3.仔細檢視log日誌記錄,你能發現一行這樣的錯誤日誌 , android ua 0x5**** can not .....芸芸 ,意思請求中的ua有問題
順藤摸瓜,debug斷點跟蹤發現,的確,我的手機ua有問題,有什麼問題呢? 帶有中文!!有中文!!!有中文!! glide開源庫對有中文ua支援不了!!
怎麼辦呢?? google一番,發現兩種解決方案:
1.方法一是利用glidemodule , 網上**很多,不再贅述,基本搜尋: glide 自定義header頭,就能搜尋很多
2.方法二:
輕鬆愉快解決!!!glideurl glideurl = new glideurl(revert(realurl), new lazyheaders.builder()
總結:目前主流的手機裝置廠商ua基本不會出現中文的情況,即使出現了,我們在okhttp請求中也會對ua進行urlencode,但是glide沒考慮到這種情況,還好良好的擴充套件效能支援設定!!!
使用glide填過的各種坑
使用版本glide 3.7.0 坑一 無法手動重新整理快取,只能改變key新增自定義簽名,我是將頭像版本號放到key中了,因為取頭像是根據手機號取的,頭像url路徑並不會變,而且首次載入時並不能拿到版本號。builder.signature new stringsignature etag 坑二 從...
iOS KVO存在的坑
所有的設計模式最終目的都是乙個,就是要解耦。解耦 是指任何模組之間不存在硬關聯,都是可以對關聯進行修改與替換。這是提供系統的可擴充套件性和可維護性的基礎,降低模組 元件之間的耦合度是開發人員應該牢記的乙個程式設計準側。觀察者模式是一種行為型設計模式。行為型設計模式討論的是模組實體在執行過程中的行為模...
Glide使用過程中遇到的坑
專案之前使用的載入庫是universal image loader,但是此庫已經好久不維護了,同時也發現了更加不錯的載入庫,也就是glide,用起來很方便並且記憶體佔用量還很令人滿意,所以決定大刀闊斧的將之前的載入庫換成glide。但是在換使用者頭像相關模組的時候發現問題了,就是載入網路時第一次載入...