Wybór odpowiedniej metody profilowania

Profile możesz zbierać na 2 główne sposoby: ręcznie i za pomocą interfejsu ProfilingManager API.

Zalecamy używanie ProfilingManager do zbierania i analizowania danych od wielu użytkowników lub do debugowania rzadkich problemów. W przypadku problemów, które łatwiej odtworzyć, lepszym wyborem może być jednak profilowanie ręczne.

W tabeli poniżej przedstawiono różnice między tymi 2 metodami rejestrowania profili:

ProfilingManager Ręczne zbieranie profili
Ustawienia czasowe profilu Więcej Mniej
Źródło profilu Urządzenia lokalne i użytkownicy publiczni Tylko urządzenie lokalne
Dane wyjściowe profilu Usunięto Nieusunięte
Profilowanie na podstawie zdarzeń Tak Nie
Możliwość dostosowywania profilu Mniej Więcej
Skalowalność Wysoki Niska

W sekcjach poniżej znajdziesz krótki opis różnic między metodami rejestrowania profilu.

Ustawienia czasowe profilu

Interfejs ProfilingManager API zapewnia większą kontrolę nad tym, kiedy aplikacja rozpoczyna lub kończy profilowanie, w porównaniu z profilowaniem ręcznym, w którym określenie czasu inicjowania profilu może być trudne. ProfilingManager ułatwia też profilowanie nieoczekiwanych zachowań, ponieważ możesz zebrać profil nawet wtedy, gdy nie możesz odtworzyć zachowania lokalnie.

Źródło profilu

Dzięki ProfilingManager możesz zbierać dane od użytkowników publicznych, aby znajdować i rozwiązywać problemy z wydajnością. Z kolei profilowanie ręczne pozwala odtworzyć problemy tylko na własnym urządzeniu.

Dane wyjściowe profilu

ProfilingManager i ręczne zbieranie danych generują różne typy danych wyjściowych profilu:

  • ProfilingManager generuje zanonimizowane logi czasu. Zredagowane ślady zawierają informacje o procesie aplikacji, ale ukrywają dane z innych aplikacji w systemie. ProfilingManager zbiera i redaguje dane przed ich zwróceniem, dzięki czemu możesz zbierać ślady od użytkowników publicznych, chroniąc ich prywatność przez niewyświetlanie danych z innych aplikacji.

  • Ręczne zbieranie profili generuje nieocenzurowane ślady. Gdy ręcznie rejestrujesz ślad systemowy, dane wyjściowe mogą obejmować wszystkie procesy działające w systemie. Te nieocenzurowane ślady oferują pełniejsze dane do debugowania, ale ze względu na ochronę prywatności możesz uzyskać do nich dostęp tylko lokalnie.

Profilowanie na podstawie zdarzeń

ProfilingManager może też zbierać profile, gdy wystąpią określone zdarzenia, takie jak błąd typu Aplikacja nie odpowiada (ANR) lub uruchomienie aplikacji. ProfilingManager będzie obsługiwać uruchamianie i zatrzymywanie profili na potrzeby zbierania danych na podstawie zdarzeń.

Możliwość dostosowywania profilu

Profilowanie ręczne zapewnia najwięcej opcji dostosowywania, a ProfilingManager oferuje ich mniej.

Skalowalność

ProfilingManager to najlepszy sposób na skalowanie śledzenia, ponieważ jest to jedyna opcja, która umożliwia deweloperom aplikacji rejestrowanie profili użytkowników publicznych. Za pomocą ProfilingManager możesz skonfigurować zbieranie i analizowanie śladów na dużą skalę. Profilowanie ręczne jest ograniczone do użytku lokalnego.