Как проверить производительность приложения на Android?


Как я могу проверить приложение на производительность в Android? Какая поддержка предоставляется в Android и как ее использовать?

5 71

5 ответов:

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

чтобы создать трассировку, добавьте в код, где вы хотите начать трассировку, следующее:

Debug.startMethodTracing("myapp");

а затем поставить следующее, Когда вы хотите, чтобы остановить трассировку:

Debug.stopMethodTracing();

это создаст трассировку вызов файла myapp.trace в корневом каталоге SD-карты. Как написано на SD-карте:

  • если вы используете эмулятор, вам потребуется добавить SD-карту в AVD.
  • вам нужно будет дать вам разрешение приложения на запись SD-карты, добавив в манифест следующее:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

после того, как файл был создан вам нужно будет скопировать его на ваш компьютер. Вы можете сделать это с помощью :

adb pull /sdcard/myapp.trace c:/my/dir/myapp.trace

наконец, начать traceview давая ему полный путь файл трассировки:

traceview c:/my/dir/myapp.trace

у меня были некоторые проблемы с traceview не с OutOfMemory исключения. Я исправил это на Windows, изменив последнюю строку traceview.bat от:

call java -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*

to:

call java -Xmx1g -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*

добавлять позволяет traceview использовать больше памяти.

и теоретически, DDMS может получить выделение памяти для вашей программы, а затем вы можете проанализировать дамп с помощью профилировщиков. ссылка DDMS.
Причина, по которой я теоретически выделил курсивом, заключается в том, что я сам еще не пробовал делать ничего подобного.

Я думаю, что traceView содержит слишком много информации, вы можете легко заблудиться.

мое решение - просто зарегистрировать системное время в трех местах в коде.

до и после и центр на potiential медленный код.

как двоичный поиск, в следующий раз, сузить его шаг за шагом, а затем, наконец, найти код виновника.

другой способ проверить это с помощью TruClient на Бегуне нагрузки

шаги, которые необходимо выполнить для мобильного интернета являются:

  1. Новый Скрипт VuGen
  2. Мобильная Протоколом
  3. Выберите TruClient Mobile Web
  4. Нажмите Кнопку Создать
  5. теперь вы можете создавать скрипты
  6. Нажмите кнопку разработать скрипт
  7. появляется всплывающее окно для выбора устройства
  8. выберите действия и вы можете записать скрипты

шаги, которые необходимо выполнить для родного мобильного телефона являются:

  1. Новый Скрипт VuGen
  2. Мобильная Протоколом
  3. Выберите TruClient Native Mobile
  4. Нажмите Кнопку Создать
  5. теперь вы можете создавать скрипты
  6. нажмите кнопку разработать скрипт
  7. появляется окно TruClient, подключенное к Firefox
  8. Нажмите Общие Настройки
  9. настройка URL-порта сервера
  10. если вы не знаете URL-адрес сервера порт означает установку операционной системы мониторинга приложений на вашем устройстве. здесь вы можете найти IP-адрес
  11. введите имя пользователя и пароль
  12. Нажмите кнопку Готово

вы можете записывать сценарии и выполнять тестирование....

вы можете использовать load runner.,

используйте эту ссылку, чтобы найти больше об этом.,

http://www.perftesting.co.uk/recording-and-performance-testing-android-applications-with-hp-loadrunner-vugen/2011/11/14/

необходимо выполнить следующие шаги:

  1. Создать Новый Скрипт VuGen
  2. выберите мобильное приложение-HTTP / HTML
  3. Параметры Записи-- > Выберите Эмулятор Записи
  4. дайте путь к записи Эмулятор как D:\android\AVD менеджер.exe
  5. в командной строке - avd AVD_NAME-netspeed full-netdelay нет где AVD_Name-это имя вашего устройства
  6. выберите рабочий каталог
  7. нажмите кнопку Готово

теперь вы можете выполнить свой тест.,