Как проверить производительность приложения Android? - PullRequest
73 голосов
/ 24 декабря 2009

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

Ответы [ 5 ]

96 голосов
/ 24 декабря 2009

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

image

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

Debug.startMethodTracing("myapp");

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

Debug.stopMethodTracing();

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

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

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

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

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% %*

до:

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

Добавление опции -Xmx1g позволяет traceview использовать больше памяти.

5 голосов
/ 24 декабря 2009

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

3 голосов
/ 25 июля 2012

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

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

До и после и в центре медленного кода.

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

0 голосов
/ 23 марта 2016

Еще один способ проверки - использование TruClient в Load Runner

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

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

Шаги для Native Mobile:

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

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

0 голосов
/ 23 марта 2016

вы можете использовать груз бегун.,

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

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 Manager.exe
  5. в командной строке -avd AVD_NAME -netspeed full -netdelay none где AVD_Name - имя вашего устройства
  6. выберите рабочий каталог
  7. нажмите "Готово"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...