Funkcjonalna

Android Studio zawiera interfejs graficzny dla Simpleperf. Informacje o tym znajdziesz w artykule Sprawdzanie aktywności procesora za pomocą programu profilującego CPU. Większość użytkowników woli korzystać z tej usługi zamiast bezpośrednio używać narzędzia Simpleperf.

Jeśli wolisz korzystać z wiersza poleceń, Simpleperf to uniwersalne narzędzie do profilowania procesorów dostępne w pakiecie NDK dla systemów Mac, Linux i Windows.

Pełną dokumentację zawiera README aplikacji Simpleperf.

Proste wskazówki i przepisy

Jeśli dopiero zaczynasz korzystać z narzędzia Simpleperf, poniżej znajdziesz kilka poleceń, które mogą Ci się przydać. Więcej poleceń i opcji znajdziesz w dokumentacji poleceń i opcji Simpleperf.

Sprawdzanie, które biblioteki współdzielone są uruchamiane najdłużej

Możesz uruchomić to polecenie, aby sprawdzić, które pliki .so zajmują największy procent czasu wykonywania (na podstawie liczby cykli procesora). Jest to dobre pierwsze polecenie, które należy uruchomić po rozpoczęciu sesji analizy wydajności.

$ simpleperf report --sort dso

Znajdź funkcje, których wykonanie trwa najdłużej

Gdy ustalisz, która biblioteka współdzielona zajmuje najwięcej czasu wykonywania, możesz uruchomić to polecenie, aby zobaczyć odsetek czasu poświęcany na wykonywanie funkcji danego pliku .so.

$ simpleperf report --dsos library.so --sort symbol

Znajdź odsetek czasu spędzonego w wątkach

Czas wykonywania w pliku .so można podzielić na wiele wątków. Możesz uruchomić to polecenie, aby sprawdzić odsetek czasu spędzonego w każdym wątku.

$ simpleperf report --sort tid,comm

Znajdź odsetek czasu spędzonego w modułach obiektów

Po znalezieniu wątków, w których wykonywana jest większość czasu wykonywania, możesz użyć tego polecenia, aby wyizolować moduły obiektów, które zajmują najdłuższy czas wykonywania w tych wątkach.

$ simpleperf report --tids threadID --sort dso

Zobacz, jak są powiązane ze sobą wywołania funkcji

Wykres wywołań przedstawia wizualizację zrzutu stosu rejestrowanego przez aplikację Simpleperf podczas sesji profilowania.

Za pomocą polecenia report -g możesz wydrukować wykres wywołań i zobaczyć, które funkcje są wywoływane przez inne funkcje. Pomaga to określić, czy funkcja jest powolna sama, czy może tylko dlatego, że jej wywołania są powolne.

$ simpleperf report -g

Możesz też użyć skryptu w Pythonie report.py -g, aby uruchomić interaktywne narzędzie, które wyświetla funkcje. Możesz kliknąć każdą funkcję, aby zobaczyć, ile czasu poświęcają jej elementy podrzędne.

Profilowanie aplikacji utworzonych w Unity

Jeśli profilujesz aplikację utworzoną w Unity, pamiętaj, by utworzyć ją z symbolami debugowania, wykonując te czynności:

  1. Otwórz projekt na Androida w edytorze Unity.
  2. W oknie Ustawienia kompilacji w przypadku platformy Androida zaznacz opcję Kompilacja dla programistów.
  3. Kliknij Ustawienia odtwarzacza i ustaw właściwość Poziom wycinania na Wyłączono.