Return to Video

02-06 Visualize_and_Fix_Overdraw_-_Quiz

  • 0:00 - 0:02
    Эй, что происходит?
  • 0:02 - 0:03
    И спасибо Колту.
  • 0:03 - 0:05
    Теперь я практически готов
    объединить усилия
  • 0:05 - 0:08
    и рассмотреть действия разработчика,
    связанные с перерисовкой.
  • 0:08 - 0:10
    Чтобы следить за действиями,
  • 0:10 - 0:13
    понадобится скопировать пример кода
    по URL-адресу в примечаниях инструктора.
  • 0:13 - 0:16
    Хорошо, вот мы открыли
    нужный пример кода приложения.
  • 0:16 - 0:20
    Представим, что было создано
    приложение чата,
  • 0:20 - 0:24
    и нужно выяснить, насколько эффективно
    в приложении выполняется перерисовка.
  • 0:24 - 0:27
    Сначала понадобится собрать
    информацию о том,
  • 0:27 - 0:28
    как работает созданное приложение.
  • 0:28 - 0:31
    Для этого на используемом устройстве
    нужно включить параметр отладки
  • 0:31 - 0:32
    перерисовки GPU.
  • 0:32 - 0:35
    Он находится в разделе
    «Параметры разработчика»
  • 0:35 - 0:37
    используемой системы,
    подобно показанному.
  • 0:41 - 0:43
    Хорошо, теперь нужный параметр включен.
  • 0:43 - 0:44
    Вернемся в наше приложение чата.
  • 0:44 - 0:49
    Ой-ой-ой, взгляните, сколько здесь
    лишних перерисовок.
  • 0:49 - 0:52
    Нужно уменьшить их число,
    особенно в красных областях.
  • 0:52 - 0:55
    Небольшая подсказка о значении цветов.
  • 0:58 - 1:00
    Круто, готовы начать копать?
  • 1:01 - 1:04
    Рассмотрим строение пользовательского
    интерфейса и проанализируем,
  • 1:04 - 1:06
    что можно почистить,
    чтобы уменьшить число перерисовок.
  • 1:06 - 1:08
    Теперь, как говорил Колт,
  • 1:08 - 1:12
    одним из способов является удаление
    ненужных фонов и закрываемых частей.
  • 1:12 - 1:13
    Давайте попробуем.
  • 1:14 - 1:17
    Как нам улучшить чат Chatum,
    чтобы он выглядел так, как показано?
  • 1:20 - 1:23
    Давайте решать проблему
    постепенно, по шагам.
  • 1:23 - 1:26
    Например, обратите внимание
    на зеленый цвет
  • 1:26 - 1:29
    или две перерисовки фона Chatum вот здесь.
  • 1:29 - 1:30
    Что могло стать их причиной?
  • 1:30 - 1:33
    Оказывается, базовая работа Chatum
    использует макет кадра (фрейма)
  • 1:33 - 1:37
    с непрозрачным белым фоном,
    заполняющим весь экран.
  • 1:37 - 1:40
    Хорошо смотрится, но это противоречит
    настройкам по умолчанию темы Android,
  • 1:40 - 1:43
    в частности, закрываемому фону окна.
  • 1:43 - 1:45
    Это приводит к ненужной перерисовке.
  • 1:45 - 1:49
    Теперь нам в качестве разработчика
    нужно принять решение по дизайну.
  • 1:49 - 1:51
    Пусть нам нужно сохранить наш белый фон,
  • 1:51 - 1:54
    то есть фактически тема материала
    нам не нужна.
  • 1:55 - 1:58
    Поэтому одна из возможных оптимизаций —
    задание для закрываемого фона
  • 1:58 - 2:00
    в нашей работе значения NULL.
  • 2:00 - 2:02
    Теперь позвольте мне показать,
    как это выполнить в коде.
  • 2:02 - 2:07
    Взглянем на метод onCreate
    в основных действиях Chatum.
  • 2:07 - 2:09
    Для обнуления фона используйте
    следующую инструкцию.
  • 2:11 - 2:12
    Замечательно.
  • 2:12 - 2:15
    Обнуляя фон, мы меняем цвет
    индикатора с зеленого на синий
  • 2:15 - 2:19
    благодаря уменьшению числа
    перерисовок до одной.
  • 2:19 - 2:20
    Отлично.
  • 2:21 - 2:23
    Это было программное изменение.
  • 2:23 - 2:27
    Но взглянем на нашу XML-разметку,
    чтобы понять, что еще можно предпринять.
  • 2:27 - 2:31
    Возможно, вы уже обратили внимание
    на три XML-файла,
  • 2:31 - 2:33
    определяющих пользовательский
    интерфейс Chatum.
  • 2:34 - 2:39
    Это основные действия Chatum Latinum,
    XML-файл для фрагмента чата
  • 2:39 - 2:43
    и, наконец, отдельный XML-файл
    для элементов нашего чата.
  • 2:45 - 2:48
    Как уже говорилось,
    мы намеренно сохранили здесь
  • 2:48 - 2:50
    этот белый фон.
  • 2:50 - 2:52
    Поэтому ничего не удаляем.
  • 2:52 - 2:56
    Но, возможно, есть какие-то приемы
    в оставшихся двух XML-файлах.
  • 2:56 - 2:58
    И вот тут я хотел бы воспользоваться
    вашей помощью.
  • 2:59 - 3:01
    Сделайте одолжение, объедините
    оставшиеся XML-файлы
  • 3:01 - 3:05
    и посмотрите, можно ли удалить
    ненужные объявления фона.
  • 3:05 - 3:09
    Закончив, введите число удаленных
    фонов в приведенном поле.
  • 3:10 - 3:11
    В случае ошибки не переживайте.
  • 3:11 - 3:13
    Просто продолжайте,
    пока не придете к решению.
Title:
02-06 Visualize_and_Fix_Overdraw_-_Quiz
Description:

02-06 Visualize_and_Fix_Overdraw_-_Quiz

more » « less
Video Language:
English
Team:
Udacity
Project:
ud825 - Android Performance
Duration:
03:14

Russian subtitles

Revisions Compare revisions