Как проверить приложение на производительность в Android? Что такое поддержка в Android и как ее использовать?
Как проверить производительность приложения для Android?
Ответ 1
Если вы хотите профилировать приложение, чтобы найти узкие места производительности, вы можете использовать инструмент 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
использовать больше памяти.
Ответ 2
Кроме того, теоретически DDMS может получать выделение памяти для вашей программы, а затем вы можете анализировать дамп с использованием профилировщиков.
Справочник по DDMS.
Причина, по которой я теоретически выделен курсивом, заключается в том, что я сам еще не пытался делать что-либо подобное.
Ответ 3
Я думаю, что traceView содержит слишком много информации, вы можете легко потеряться.
Мое решение - просто зарегистрировать системное время в трех местах в коде.
До и после и в центре на потенционом медленном коде.
как бинарный поиск, в следующий раз, сужайте его шаг за шагом, затем, наконец, найдите код виновника.
Ответ 4
вы можете использовать load runner.,
используйте эту ссылку, чтобы найти более подходящую.,
Шаги, которые необходимо соблюдать, следующие:
- Создать новый 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-адрес
- Введите имя пользователя и пароль
- Сделано клик
вы можете записывать скрипты и выполнять тестирование....