簡體   English   中英

如何使用畢加索加載布局背景並對其進行緩存

[英]How To Load Layout Background Using Picasso and cache it

我有在其背景上帶有可繪制對象的View(LinearView)。 如何在onSaveInstanceState中保存Drawable以提高顯示速度? 實際上,圖片是從Internet下載的,下載后將其設置為“查看背景”。 如果background!= null在onResume()中,則不應再從Internet加載它。

我嘗試過畢加索,但是我需要將圖像加載到View中,而不是ImageView中,因此我使用了以下方法:

final ImageView img = new ImageView(view.getContext());
Picasso.with(img.getContext())
        .load(mImagesUrls[index])
        .into(img, new com.squareup.picasso.Callback() {
            @Override
            public void onSuccess() {
               view.setBackground(img.getDrawable());
            }

            @Override
            public void onError() {
            }
        });

它下載圖像,但似乎沒有將其緩存,每次加載大約需要4秒鍾...

我也嘗試使用MyClass實現Picasso.Target,但它只是不調用onBitmapLoaded()方法。 哪里可能有問題?

謝謝大家提前回答!

.into之前添加.networkPolicy(NetworkPolicy.OFFLINE)

像這樣:

.load(mImagesUrls[index])
.networkPolicy(NetworkPolicy.OFFLINE)
        .into(img, new com.squareup.picasso.Callback() {

閱讀更多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM