Як перевірити продуктивність програми Android?


74

Як я можу протестувати додаток на продуктивність в Android? Яка підтримка надається в Android і як я нею користуюся?

Відповіді:


97

Якщо ви хочете скласти профіль своєї програми, щоб знайти вузькі місця у роботі, ви можете скористатися 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використовувати більше пам'яті.


Чи є якийсь спосіб отримати таку інформацію, як
Bharat Pawar

1
Цікаво, ви, хлопці, використовуєте TraceView поодинці для тестів продуктивності інтерфейсу, чи ви насправді автоматизуєте його, наприклад, у поєднанні з тестовою структурою Robotium (robotium.org). Будь-які "найкращі практики" з цього приводу?
Матіас Конрадт,

Чи можете ви переглядати трасування в режимі реального часу без необхідності копіювати файл?
AlikElzin-kilaka

розмір myapp.trace дорівнює 0. чому?
CooL i3oY

1
Згадане посилання було мертвим .. Оновлено: developer.android.com/studio/profile/traceview.html
Шайлендра Мадда

6

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


1
Server Dalvik Debug Monitor Server (DDMS) - Цей інструмент застарів. —— developer.android.com/studio/profile/monitor
Панг,

3

Думаю, traceView містить забагато інформації, і ви легко можете загубитися.

Моє рішення - просто записати системний час у три місця коду.

До і після і відцентруйте на повільному повільному коді.

подібно до двійкового пошуку, наступного разу звужте його поетапно, потім нарешті знайдіть код винуватця.


0

Інший спосіб перевірки - використання 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

Ви можете використовувати завантажувач завантаження.,

використовуйте це посилання, щоб дізнатись більше про це.,

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. Вкажіть шлях до емулятора запису як D: \ android \ AVD Manager.exe
  5. У командному рядку -avd AVD_NAME -netspeed full -netdelay none де AVD_Name - це ім'я вашого пристрою
  6. виберіть робочий каталог
  7. натисніть закінчити

Тепер ви можете виконати тест.,

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.