Możesz wykrywać potencjalne wąskie gardła i poprawiać ogólną wydajność aplikacji, rejestrując aktywność urządzenia w krótkim czasie i zbierając ślady okresu uruchamiania aplikacji. Na tej stronie dowiesz się, jak skonfigurować środowisko do testowania wydajności.
Korzystanie z biblioteki Macroporównanie
Biblioteka Macrobenchmark służy do pomiaru większych interakcji użytkowników, takich jak uruchamianie aplikacji, interakcja z interfejsem czy animacje. Biblioteka zapewnia bezpośrednią kontrolę nad testowanym środowiskiem wydajności. Pozwala kontrolować kompilowanie, uruchamianie i zatrzymywanie aplikacji, aby bezpośrednio mierzyć dokładny czas jej uruchomienia. Pozwala to też zminimalizować szumy i różnice między uruchomieniami testowymi.
Używanie urządzeń średniej klasy do wykrywania potencjalnych problemów z wydajnością
Możesz testować wydajność na każdym typie urządzenia, na którym Ci zależy. Zaawansowane urządzenia z szybkimi komponentami mogą ukrywać problemy z wydajnością na urządzeniach wcześniej, wolniejszych lub z małą ilością pamięci RAM. Na słabszych urządzeniach ładowanie danych lub uruchamianie kodu może trwać dłużej, co ułatwia wykrywanie wąskich gardła. Optymalizacja wydajności na słabszych urządzeniach zwykle zapewnia też optymalizację pod kątem zaawansowanych urządzeń.
Ogranicz szum
- Sieć: przetestuj swoje aplikacje i procesy przy użyciu silnej i stabilnej szybkości sieci Wi-Fi. Jeśli czas uruchamiania aplikacji obejmuje żądanie sieciowe, pamiętaj, że może to być miejsce, w którym mogą występować zmienność.
- Wykorzystanie pamięci RAM: podczas testowania wydajności uruchamiania aplikacji żadne inne aplikacje nie będą działać w tle.
- Bateria: upewnij się, że urządzenie jest naładowane, aby uniknąć ograniczania wydajności urządzenia o niskiej mocy.
Testowanie w kompilacjach do publikacji
Używaj kompilacji wersji do testowania wydajności. Kompilacje do debugowania nie nadają się do debugowania wydajności, ponieważ nie umożliwiają optymalizacji kompilacji i znacznie wpływają na wydajność.
Do identyfikowania klas i nazw operacji można jednak używać kompilacji wersji bez zaciemnienia kodu. Przede wszystkim zalecamy włączenie funkcji minify (R8) i wyłączenie zaciemniania kodu za pomocą -dontobfuscate
w pliku Proardard.
Jeśli kompilacja nie jest zaciemniona, łatwiej jest zidentyfikować układy, zasoby i zasoby.
Pamiętaj, aby w pliku manifestu uwzględnić flagę profileable, aby zdarzenia niestandardowe były widoczne w kompilacjach, których nie można debugować. Ta flaga jest dostępna na Androidzie 10 (poziom interfejsu API 29) i nowszych.
Dodaj niestandardowe logi czasu do operacji w aplikacji
Dodaj w aplikacji niestandardowe logi czasu, aby ułatwić sobie identyfikowanie operacji wykonywanych przez aplikację w porównaniu z innymi bibliotekami. Dzięki temu zyskujesz pełniejszy kontekst dotyczący tego, co robi aplikacja.