Return to Video

Sunshine in the Background

  • 0:00 - 0:02
    レッスン2を思い出してください
  • 0:02 - 0:08
    キャサリンがRefreshボタンに結びつけられた
    AsyncTaskを使ってデータをアップデートしました
  • 0:08 - 0:10
    レトはそれがまずいと言っていました
  • 0:10 - 0:15
    AsyncTaskはActivityのライフサイクルと
    無関係だからです
  • 0:15 - 0:19
    仮想マシンはAsyncTaskが実行している限り
  • 0:19 - 0:21
    Activityオブジェクトを持ち続けます
  • 0:21 - 0:24
    たとえAndroidがActivityに対して
    onDestroyを呼び出して
  • 0:24 - 0:26
    破棄されると期待してもです
  • 0:26 - 0:28
    スマートフォンを回転すると
  • 0:28 - 0:32
    Activityを破棄して
    新たなインスタンスを作成します
  • 0:32 - 0:35
    単純なAsyncTaskを実装すると
  • 0:35 - 0:38
    同じアップデートを実行しようとする
    2つのスレッドができ それを繰り返します
  • 0:38 - 0:41
    つまり Webサービスから取得する時のような
  • 0:41 - 0:46
    長時間にわたる可能性のある
    バックグラウンド作業には最良ではないのです
  • 0:46 - 0:47
    アプリをそのままにしておくと
  • 0:47 - 0:51
    AsyncTaskはプロセスが生きている限り
    実行し続けますが
  • 0:51 - 0:53
    優先度は低い状態であり
  • 0:53 - 0:57
    デバイスがリソースを必要とした場合
    皆さんのプロセスが終了させられます
  • 0:57 - 0:59
    さらに大きな問題は
  • 0:59 - 1:01
    最初にタスクのインスタンスを作成するためには
  • 1:01 - 1:04
    アプリがフォアグラウンドで
    実行されている必要があります
  • 1:04 - 1:09
    アプリ開始時に天気をアップデートする目的で
    タスクを開始したので
  • 1:09 - 1:13
    天気が早く変化すると
    好ましくない動きをするかもしれません
  • 1:13 - 1:16
    ではアップデートの正しい実行方向を学びましょう
  • 1:16 - 1:20
    アプリがフォアグラウンドにある間
    プロセスを自動化します
  • 1:20 - 1:22
    しかしもっと重要なのは
  • 1:22 - 1:26
    バッテリ消費を最少にして バックグラウンドで
    規則的にアップデートさせることです
  • 1:26 - 1:29
    これは このレッスンの後半で
    天気のNotificationを導入する時に
  • 1:29 - 1:31
    特に重要になるでしょう
Title:
Sunshine in the Background
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
UD853 - Developing Android Apps
Duration:
01:32

Japanese subtitles

Revisions Compare revisions