アプリにスプラッシュ ページがあり、バックグラウンド タスクを開始してダウンロードを開始し、ユーザーが必要なときに準備できるようにしたいと考えています。
たとえば、今週の写真などです。
スプラッシュ スクリーンの開始 (バックグラウンド タスクの開始)
スプラッシュ スクリーンの終了 (バックグラウンド タスクはまだ動作中)
ホーム スクリーンの開始 (一時的な「読み込み中」プレースホルダー)
ユーザーが別のアクティビティに移動する
ダウンロードが終了
する ユーザーがホーム画面に戻り、その週の画像が更新される
非同期タスクのことは知っていますが、非同期タスクがキャンセルされるfinish()
と聞いたことがあります。また、キャンセルされないと聞いたことがあります。
この種のタスク、バックグラウンド ロードはサービスで処理するのが最適ですか? バックグラウンドでこのようなものをロードするためのチュートリアルを誰かに教えてもらえますか?
編集:
人々は、UI 作業は UI に、非 UI は非 UI にすべきだと言っています。ハンドラーを検討しましたが、現在のアクティビティがアクティブでないときにリスナーは機能しますか?
メインでハンドラーを開始してからページを切り替えるとしましょう。別のページを表示しているときにリスナーがトリガーされなかったため、戻ってきたときにメイン UI が更新されていないことは確かです。
変数などを格納するためだけにクラスを作成する必要があると思います。サービスが終了すると、「pic_of_week_loaded」が true に設定され、メインのリロード時にこの変数がチェックされます。これについてどうすればいいですか?