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

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

Solutions Collecting From Web of "Как проверить производительность приложения для Android?"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Еще один способ тестирования – использование TruClient на Load Runner

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

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

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

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

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