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

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

Ответ 1

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

12.24.2009-08.57.51.png

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

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 использовать больше памяти.

Ответ 2

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

Ответ 3

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

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

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

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

Ответ 4

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

используйте эту ссылку, чтобы найти более подходящую.,

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

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

  • Создать новый VuGen Script
  • Выберите Mobile Application-HTTP/HTML
  • Параметры записи → Выбор эмулятора записи
  • Дайте путь для записи эмулятора как D:\android\AVD Manager.exe
  • В командной строке -avd AVD_NAME -netspeed full -netdelay none где AVD_Name - имя вашего устройства
  • выберите рабочий каталог
  • нажмите кнопку завершения

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

Ответ 5

Другим способом тестирования является использование TruClient on Load Runner

Шаги для Mobile Web:

  • Новый VuGen Script
  • Мобильный протокол
  • Выберите TruClient Mobile Web
  • Нажмите "Создать"
  • Теперь вы можете создавать скрипты
  • Нажмите кнопку "Создать" Script
  • Появится окно PoP up, чтобы выбрать устройство
  • Выберите "Действия", и вы можете записывать сценарии

Шаги для Native Mobile:

  • Новый VuGen Script
  • Мобильный протокол
  • Выберите TruClient Native Mobile
  • Нажмите "Создать"
  • Теперь вы можете создавать скрипты
  • нажмите <развернуть Script
  • Появится окно TruClient, подключенное к Firefox.
  • Нажмите Общие настройки
  • Настроить URL-адрес URL-адреса сервера
  • Если вы не знаете, что серверный порт url означает установку приложения OS MONITOR на ваше устройство. здесь вы можете найти IP-адрес
  • Введите имя пользователя и пароль
  • Сделано клик

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