2015-05-27 77 views
1

這就是我目前的理解:畢加索:緩存和重定向URL的

  1. 我加載http://www.example.com/imageA.png到畢加索用我的ImageView的。

  2. 畢加索下載imageA.png,並用簡單的術語將它緩存在內部爲「http://www.example.com/imageA.png」。

  3. 我離線,打開我的應用程序,畢加索試圖再次將http://www.example.com/imageA.png加載到我的imageView中。它從緩存中加載圖像。即使當我的網絡不工作時,我也能看到imageA。

這是所有罰款和丹迪。

說,例如http://www.example.com/imageA.png現在重定向到http://www.example.com/imageB.png我重複步驟1和2

這一次,我相信,當我在離線模式下打開我的應用程序緩存畢加索作爲http://www.example.com/imageB.png,因此,我不請參閱imageA,因爲它被緩存爲imageB。

對嗎?

有沒有辦法迫使畢加索緩存它的原始URL?

回答

0
+0

謝謝@dumazy,我嘗試過,但它仍然無法正常工作。儘管圖像經過了一次自定義的「轉換」,畢加索仍使用stableKey,還是使用自定義的「Transformation」中定義的那個? – squeeish

+0

你有沒有試過在調試模式下檢查stableKeys? Android Studio允許您潛入反編譯的依賴關係代碼中,您可以在其中放置斷點。這應該會給你更多的信息 – dumazy

0

畢加索只管理內存緩存,所以stableKey只有這個。磁盤緩存由OkHttp管理。它的行爲不能改變,因爲com.squareup.okhttp.Cache是​​一個最終的類。