Return to Video

Sunshine в фоновом режиме

  • 0:00 - 0:04
    Помните, как в уроке 2 Кэтрин использовала
  • 0:04 - 0:07
    AsyncTask, подключённый к кнопке refresh
    для обновления наших данных?
  • 0:07 - 0:10
    Рейто говорил о том,
    что это плохая идея,
  • 0:10 - 0:15
    поскольку AsyncTask не связан
    с Activity Lifecycle.
  • 0:15 - 0:18
    Виртуальная машина будет хранить
    объект Activity
  • 0:18 - 0:21
    до тех пор, пока запущен AsyncTask,
    даже после того, как Android
  • 0:21 - 0:26
    вызовет метод onDestroy для Activity
    и будет ожидать её уничтожения.
  • 0:26 - 0:29
    Если вы повернёте телефон,
    режим работы будет:
  • 0:29 - 0:32
    уничтожить вашу Activity и создать новую.
  • 0:32 - 0:35
    Примитивная реализация класса AsyncTask
    на данный момент имеет два потока,
  • 0:35 - 0:39
    пытающихся осуществить то же самое
    обновление и тому подобное.
  • 0:39 - 0:41
    Суть в том, что это не самый
    лучший образец
  • 0:41 - 0:44
    для потенциально очень долгой
    фоновой операции,
  • 0:44 - 0:45
    такой как выгрузка с Web-сервисов.
  • 0:45 - 0:48
    Если вы выйдете из приложения,
    AsyncTask продолжит выполняться
  • 0:48 - 0:51
    до тех пор, пока поддерживается
    ваш процесс,
  • 0:51 - 0:54
    но он будет выполняться с низким
    приоритетом; и ваш процесс
  • 0:54 - 0:56
    будет завершён в первую очередь,
    если устройству
  • 0:56 - 0:58
    потребуется больше ресурсов.
  • 0:58 - 0:59
    И это большая проблема.
  • 0:59 - 1:02
    Ваше приложение должно быть видимым
    и работать на переднем плане
  • 1:02 - 1:05
    для создания задачи в первую очередь.
  • 1:05 - 1:06
    Поскольку мы начали операцию
  • 1:06 - 1:09
    по обновлению погоды
    в момент запуска приложения,
  • 1:09 - 1:11
    это может привести
    к нежелательным последствиям,
  • 1:11 - 1:13
    если погода будет меняться быстро.
  • 1:13 - 1:16
    Поэтому сейчас мы научимся правильно
    выполнять обновления.
  • 1:16 - 1:19
    Мы хотим автоматизировать этот
    процесс, пока приложение
  • 1:19 - 1:20
    находится на переднем плане.
  • 1:20 - 1:23
    Но более важно для нас,
    чтобы приложение получало
  • 1:23 - 1:26
    регулярные обновления в фоновом режиме
    с минимальной разрядкой батареи.
  • 1:26 - 1:29
    Это будет особенно важно
    немного позднее в этом уроке,
  • 1:29 - 1:31
    когда мы познакомимся
    с уведомлениями о погоде.
Title:
Sunshine в фоновом режиме
Description:

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

Russian subtitles

Revisions Compare revisions