Udostępnij za pośrednictwem


Profilowanie aplikacji systemu Android

Przed wdrożeniem aplikacji w sklepie z aplikacjami ważne jest zidentyfikowanie i naprawienie wszelkich wąskich gardeł wydajności, problemów z nadmiernym użyciem pamięci lub nieefektywnego korzystania z zasobów sieciowych. Do tego celu są dostępne dwa narzędzia profilera:

  • Xamarin Profiler
  • Android Profiler w programie Android Studio

Ten przewodnik zawiera wprowadzenie do programu Xamarin Profiler i zawiera szczegółowe informacje na temat rozpoczynania pracy z programem Android Profiler.

Xamarin Profiler

Xamarin Profiler to autonomiczna aplikacja zintegrowana z programem Visual Studio i Visual Studio dla komputerów Mac do profilowania aplikacji platformy Xamarin z poziomu środowiska IDE. Aby uzyskać więcej informacji na temat korzystania z programu Xamarin Profiler, zobacz Xamarin Profiler.

Uwaga

Aby odblokować funkcję programu Xamarin Profiler w programie Visual Studio Enterprise w systemie Windows lub Visual Studio dla komputerów Mac, musisz być subskrybentem programu Visual Studio Enterprise.

Android Studio Profiler

Program Android Studio 3.0 lub nowszy zawiera narzędzie Profiler systemu Android. Profiler systemu Android umożliwia mierzenie wydajności aplikacji platformy Xamarin dla systemu Android skompilowanych za pomocą programu Visual Studio — bez konieczności posiadania licencji programu Visual Studio Enterprise. Jednak w przeciwieństwie do programu Xamarin Profiler profiler systemu Android nie jest zintegrowany z programem Visual Studio i może służyć tylko do profilowania pakietu aplikacji systemu Android (APK), który został skompilowany z wyprzedzeniem i zaimportowany do profilera systemu Android.

Uruchamianie aplikacji platformy Xamarin dla systemu Android w programie Android Profiler

W poniższych krokach wyjaśniono, jak uruchomić aplikację platformy Xamarin dla systemu Android w narzędziu Android Profiler w programie Android Studio. Na poniższych przykładowych zrzutach ekranu przykładowa aplikacja platformy Xamarin Forms została skompilowana i profilowana przy użyciu programu Android Profiler:

  1. W opcjach kompilacji projektu systemu Android wyłącz opcję Użyj środowiska uruchomieniowego udostępnionego. Dzięki temu pakiet aplikacji systemu Android (APK) jest kompilowany bez zależności od współużytkowanego środowiska uruchomieniowego Mono w czasie programowania.

    Wyłączanie używania środowiska uruchomieniowego udostępnionego

  2. Skompiluj aplikację na potrzeby debugowania i wdróż ją na urządzeniu fizycznym lub emulatorze. Powoduje to skompilowanie podpisanej wersji debugowania pakietu APK. W przykładzie XamagonXuzzle wynikowy plik APK nosi nazwę com.companyname.XamagonXuzzle-Signed.apk.

  3. Otwórz folder projektu i przejdź do folderu bin/Debug. W tym folderze znajdź Signed.apk wersję aplikacji i skopiuj ją do wygodnego miejsca (takiego jak pulpit). Na poniższym zrzucie ekranu com.companyname.XamagonXuzzle-Signed.apk APK znajduje się i jest kopiowany do pulpitu:

    Lokalizacja podpisanego pliku APK debugowania

  4. Uruchom program Android Studio i wybierz pozycję Profil lub debuguj plik APK:

    Uruchamianie profilera na ekranie uruchamiania programu Android Studio

  5. W oknie dialogowym Wybieranie pliku APK przejdź do utworzonego i skopiowanego wcześniej pakietu APK. Wybierz plik APK i kliknij przycisk OK:

    Wybieranie pliku APK w oknie dialogowym Wybieranie pliku APK

  6. Android Studio załaduje apk i dissssembles classes.dex:

    Konfigurowanie pakietu APK

  7. Po załadowaniu pakietu APK program Android Studio wyświetli następujący ekran projektu dla pakietu APK. Kliknij prawym przyciskiem myszy nazwę aplikacji w widoku drzewa po lewej stronie i wybierz pozycję Otwórz moduł Ustawienia:

    Lokalizacja elementu menu Open Module Ustawienia

  8. Przejdź do pozycji Project Ustawienia Modules (Moduły programu Project Ustawienia>), wybierz węzeł -Signed aplikacji, a następnie kliknij pozycję <Brak zestawu SDK>:

    Przechodzenie do ustawienia zestawu SDK

  9. W menu rozwijanym zestawu SDK modułu wybierz poziom zestawu SDK systemu Android, który został użyty do skompilowania aplikacji (w tym przykładzie użyto poziomu 26 interfejsu API do skompilowania zestawu XamagonXuzzle):

    Ustawianie poziomu zestawu SDK projektu

    Kliknij przycisk Zastosuj i OK , aby zapisać to ustawienie.

  10. Uruchom profilera z poziomu ikony paska narzędzi:

    Lokalizacja ikony paska narzędzi profilera

  11. Wybierz element docelowy wdrożenia do uruchamiania/profilowania aplikacji, a następnie kliknij przycisk OK. Elementem docelowym wdrożenia może być urządzenie fizyczne lub urządzenie wirtualne uruchomione w emulatorze. W tym przykładzie używane jest urządzenie Nexus 5X:

    Wybieranie miejsca docelowego wdrożenia

  12. Po uruchomieniu profilera nawiązanie połączenia z urządzeniem wdrożeniowym i procesem aplikacji potrwa kilka sekund. Podczas instalowania pakietu APK profiler systemu Android będzie zgłaszać brak połączonych urządzeń i brak procesów debugowania.

    Profiler instaluje plik APK

  13. Po kilku sekundach, Android Profiler zakończy instalację APK i uruchomi APK, raportowanie nazwy urządzenia i nazwy procesu aplikacji profilowane (w tym przykładzie LGE Nexus 5X i com.companyname.XamagonXuzzle, odpowiednio):

    Okno profilera po uruchomieniu

  14. Po zidentyfikowaniu urządzenia i procesu debugowania profiler systemu Android rozpoczyna profilowanie aplikacji:

    Profiler jest wyświetlany dla uruchomionej aplikacji

  15. Jeśli naciśniesz przycisk RANDOMIZE na XamagonXuzzle (co powoduje przesunięcie i losowe kafelki), zobaczysz wzrost użycia procesora CPU podczas interwału losowania aplikacji:

    Użycie procesora CPU po naciśnięciu przycisku RANDOMIZE

Korzystanie z profilera systemu Android

Szczegółowe informacje dotyczące korzystania z profilera systemu Android znajdują się w dokumentacji programu Android Studio. Następujące tematy będą interesujące dla deweloperów platformy Xamarin dla systemu Android:

  • Profiler procesora CPU — wyjaśnia, jak sprawdzić użycie procesora CPU i działanie wątku aplikacji w czasie rzeczywistym.

  • Profiler pamięci — wyświetla wykres czasu rzeczywistego użycia pamięci aplikacji i zawiera przycisk do rejestrowania alokacji pamięci na potrzeby analizy.

  • Network Profiler — wyświetla aktywność sieci w czasie rzeczywistym danych wysyłanych i odbieranych przez aplikację.