0
我們有一個appwidget,其中包含多個ImageView,需要每隔一段時間更新一次圖像。圖像存儲在網絡上,網址存儲在我們旋轉的ArrayList中。我們使用帶有緩存的OkHttp3 Downloader的畢加索。即使在所有圖像顯示至少一次我們的應用程序仍在使用設置應用程序中的Android數據使用情況選項中的數據。打開飛行模式時,小部件將繼續工作並顯示所有圖像,以便它們必須被緩存。即使圖像被緩存,爲什麼畢加索仍在使用數據? (我們已經通過應用程序/小工具排除數據消費的所有其他可能的來源)使用畢加索在appwidget中使用緩存圖像的數據
庫:
- com.squareup.okhttp3:okhttp:3.2.0
- com.squareup .picasso:畢加索:2.5.2
- com.jakewharton.picasso:picasso2-okhttp3-下載:1.1.0
畢加索初始化在應用程序對象的onCreate():
Picasso.Builder picassoBuilder = new Picasso.Builder(this)
.downloader(new OkHttp3Downloader(this))
.indicatorsEnabled(true)
.loggingEnabled(true);
Picasso picasso = picassoBuilder.build();
try {
Picasso.setSingletonInstance(picasso);
} catch(IllegalStateException e) {
UsageTracker.handleException(e);
}
從服務加載圖像:
public static void updateImage(Context context, RemoteViews remoteViews, int resourceId, String url) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, WidgetProvider.class));
Picasso.with(context).load(url).into(remoteViews, resourceId, appWidgetIds);
}
而且,沒有人知道它是否正常的指標和採伐沒有爲RemoteViews工作?
您是否嘗試過使用Picasso的'setIndicatorsEnabled'來驗證圖像沒有從緩存中加載? – akash93
是的,但appwidget中沒有指示符。他們在應用程序本身工作。他們是否應該在RemoteViews中使用appwidgets? – Sander
我沒有看到任何理由,爲什麼他們不應該..這是說我沒有測試過自己。如果不是這樣,也許值得開個問題 – akash93