複数のImageViewが含まれているappwidgetがあり、その画像を1度に1回更新する必要があります。画像はウェブに保存され、URLは回転するArrayListに保存されます。私たちはキャッシュを持つOkHttp3 DownloaderでPicassoを使っています。すべての画像が少なくとも一度表示された後でさえ、私たちのアプリは設定アプリのAndroidのデータ使用量オプションに従ったデータを引き続き使用しています。飛行機モードをオンにすると、ウィジェットは引き続き動作し、すべての画像を表示してキャッシュする必要があります。画像がキャッシュされていてもピカソがまだデータを使用しているのはなぜですか?Picasaはキャッシュされた画像のデータをappwidgetで使用しています
- com.squareup.okhttp3:okhttp:3.2.0
- com.squareup使用
ライブラリを(我々はすでにアプリ/ウィジェットによってデータ消費量の他のすべての可能なソースを除外しました) .picasso:ピカソ:2.5.2
- com.jakewharton.picasso:picasso2-okhttp3-ダウンローダ:アプリケーションオブジェクトのonCreateにおいて1.1.0
ピカソの初期化():
サービスから画像をロード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に表示されるインジケータはありません。彼らはアプリ自体で動作します。彼らはappwidgetsのためにRemoteViewsで動作するはずですか? – Sander
私はなぜそうでなければならないのかについての理由は見当たりません。そうでない場合は、問題を開く価値があるかもしれません – akash93