Подтвердить что ты не робот

Android: windowBackground = "@null", чтобы улучшить скорость приложения

Я только что прочитал блог-блог Ромен Гай о том, как ускорить пользовательский интерфейс приложения. Он в основном говорит, что если ваше приложение использует непрозрачные представления, вы можете установить фон @null в свой стиль Activity, используя:

<item name="android:windowBackground">@null</item>

Это работает? Я был готов проверить это, используя FPS, как он, но я не нашел четкого способа получить эту информацию.

Я прочитал несколько потоков, говоря, что вам нужно сделать это самостоятельно. Я собираюсь добавить пользовательское представление, которое рисует FPS в методе onDraw() и вызывает invalidate(), чтобы получить вызов все время.

Хотя это работает, я хотел бы знать, есть ли лучший способ анализа FPS в приложении.

4b9b3361

Ответ 1

В blogpost есть исходный код образцов. Проверьте FpsImageView.java.

Ответ 2

Если пользовательский интерфейс вашего приложения полностью отображает содержимое окна, вы всегда должны устанавливать windowBackground равным null. Это предотвращает заполнение фреймворком окна цветом фона по умолчанию, поэтому это один минус, который необходим для рендеринга каждого кадра, что означает, что вы можете потратить свое собственное время на рисование этого количества пикселей.

Ответ 3

в некоторых случаях я заметил, что установка фона на нуль вызывает странные ui сбои, как написано здесь.

Я бы рекомендовал протестировать его на разных устройствах и на эмуляторе, прежде чем принимать решение об этом.