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:
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.
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.
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:
Uruchom program Android Studio i wybierz pozycję Profil lub debuguj plik APK:
W oknie dialogowym Wybieranie pliku APK przejdź do utworzonego i skopiowanego wcześniej pakietu APK. Wybierz plik APK i kliknij przycisk OK:
Android Studio załaduje apk i dissssembles classes.dex:
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:
Przejdź do pozycji Project Ustawienia Modules (Moduły programu Project Ustawienia>), wybierz węzeł -Signed aplikacji, a następnie kliknij pozycję <Brak zestawu SDK>:
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):
Kliknij przycisk Zastosuj i OK , aby zapisać to ustawienie.
Uruchom profilera z poziomu ikony paska narzędzi:
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:
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.
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):
Po zidentyfikowaniu urządzenia i procesu debugowania profiler systemu Android rozpoczyna profilowanie aplikacji:
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:
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ę.