Мені потрібно знайти місця, де є вузькі місця в моєму додатку для Android.
Які інструменти чи методи профілювання я можу використовувати?
Мені потрібно знайти місця, де є вузькі місця в моєму додатку для Android.
Які інструменти чи методи профілювання я можу використовувати?
Відповіді:
Ви можете використовувати Traceview. Це далеко не ідеально, але працює. У цій статті описано, як ним користуватися.
DDMS - найкращий для Android. За замовчуванням він включається до плагіна ADT.
Цей документ з докладним прикладом повинен допомогти вам мати справу з DDMS.
Для аналізу пам’яті спробуйте Eclipse MAT
Це залежить від того, що ти збираєшся перевірити.
Якщо ви розробляєте додатки для Android, вам слід спробувати клас TimingLogger. Подивіться цю статтю, що описує використання допоміжного класу TimingLogger.
Дуже хороший інструмент - JMeter, а також є плагін для Android .
якщо ви не хочете використовувати зовнішні інструменти, але дуже стандартний спосіб вимірювання минулого часу, ви повинні використовувати System.nanoTime (). Не слід використовувати currentTimeMillis, оскільки він вимірює час настінного та іншого годинника, оскільки жоден годинник комп'ютера не є ідеальним (їх все час від часу потрібно виправляти), існує процес, який запускається і постійно видає невеликі виправлення в системний годинник. Не кажучи вже про стрибкове друге виправлення.
Хоча currentTimeMillis часто використовується, все-таки неправильно вимірювати минулий час і терміни. Так чи інакше, оскільки виклик потребує певного часу, ви не повинні сподіватися, що правильно обробляти дуже маленькі інтервали. Але це не повинно бути проблемою роботи з Android.
Я покажу вам приклад:
long startTime = System.nanoTime();
// run/call the method
long endTime = System.nanoTime();
long diff = endTime - startTime ;
System.out.println("Elapsed milliseconds: " + diff /1000000);
Ви також можете ознайомитися з цією безкоштовною бібліотекою: http://jetm.void.fm/ .
Ви також можете знайти підручник для JMeter .
Інший інструмент, рекомендований у http://developer.android.com/training/articles/perf-tips.html, - це супорт: https://code.google.com/p/caliper/ . (Я не користувався ним, тому не знаю багато про це.)