Return to Video

Улучшите свой код чтобы уменьшить количество использованной памяти.

  • 0:00 - 0:03
    Мы можем сделать небольшую корректировку нашего кода во избежание чрезмерного использования памяти.
  • 0:03 - 0:05
    Давайте посмотрим на сравнительный подход.
  • 0:05 - 0:08
    Вместо того, чтобы соединять значение одной ячейки за раз для постройки каждого ряда, давайте использовать
  • 0:08 - 0:12
    образец StringBuilder и построим каждый ряд используя одну строку.
  • 0:12 - 0:14
    Заметьте, что StringBuilder инстанциирован вне цикла и
  • 0:14 - 0:16
    и таким образом память выделяется лишь раз.
  • 0:16 - 0:18
    И тогда мы просто используем его как буфер для
  • 0:18 - 0:21
    каждой итерации цикла, где мы сперва ее чистим, а затем мы добавляем
  • 0:21 - 0:24
    одну строку чисел для того, чтобы отразить ряд для той итерации цикла.
  • 0:24 - 0:27
    Посмотрите заметки инструктора где есть детали этого сегмента кода.
  • 0:27 - 0:28
    Сейчас время проверить все.
  • 0:28 - 0:31
    Загрузите улучшенную ветку кода,
  • 0:31 - 0:36
    которая называется memory_churn_optimized, в поле отслеживания
    и в монитор памяти
  • 0:36 - 0:40
    для того, чтобы подтвердить то, что мы
    уменьшили количество GC в окне короткого времени.
  • 0:40 - 0:43
    Вы также можете использовать трекер
    выделения для проверки.
  • 0:43 - 0:44
    Если вы используете трекер или
  • 0:44 - 0:48
    если вы получили что-то неожиданное
    в поле отслеживания или в мониторе памяти
  • 0:48 - 0:51
    Поделитесь скриншотом вашего результата
    в форумах для обсуждения.
  • 0:51 - 0:52
    Нам интересно увидеть что у вас получилось.
  • 0:53 - 0:59
    Теперь, для нас, даже с этими изменениями
    пират Perf все равно приостанавливается.
  • 0:59 - 1:00
    Но на этот раз на меньшее время.
  • 1:01 - 1:03
    Это также может показать что
    эта функция наверное хороший
  • 1:03 - 1:05
    кандидат на переход на задний план.
Tytuł:
Улучшите свой код чтобы уменьшить количество использованной памяти.
Opis:

more » « less
Video Language:
English
Team:
Udacity
Projekt:
ud825 - Android Performance
Duration:
01:05

Russian subtitles

Revisions Compare revisions