Wydarzenia i programy

W pełni zoptymalizowane: podsumowanie Tygodnia wyróżnień za skuteczność

Czas czytania: 3 minuty

W ostatnim tygodniu skupiliśmy się na udostępnianiu sprawdzonych metod i wskazówek, które pomogą Ci tworzyć szybsze, mniejsze i stabilniejsze aplikacje na Androida. Od podstawowych funkcji optymalizatora R8 i optymalizacji na podstawie profilu po zwiększenie wydajności za pomocą Jetpack Compose i nowy przewodnik po poprawie wydajności aplikacji – omówiliśmy narzędzia, które wymagają niewielkiego nakładu pracy, a przynoszą duże korzyści w zakresie tworzenia wydajnych aplikacji.

Ten post to indeks i mapa, do których możesz wracać, gdy chcesz optymalizować swoje działania. Oto 5 najważniejszych wniosków z naszej wspólnej podróży.

Korzystanie z optymalizatora R8 w celu przyspieszenia działania aplikacji

Najbardziej efektywną zmianą, która nie wymaga dużego nakładu pracy, jest pełne włączenie optymalizatora R8. Nie tylko zmniejsza rozmiar aplikacji, ale też przeprowadza zaawansowane optymalizacje całego programu, aby zasadniczo przepisać kod pod kątem wydajności. Sprawdź ponownie reguły Keep i przywróć R8 do zadań inżynieryjnych.

Pomocą służy nasza zaktualizowana i rozszerzona dokumentacja optymalizatora R8.

Po włączeniu pełnego trybu R8 firma Reddit odnotowała 40% szybsze uruchamianie „na zimno” i 30% mniej błędów ANR.

Pełne studium przypadku znajdziesz na naszym blogu.

image.png

Inżynierowie z Disney+ inwestują w wydajność aplikacji i optymalizują wrażenia użytkowników. Czasami nawet pozornie niewielkie zmiany mogą mieć ogromny wpływ. Podczas sprawdzania konfiguracji R8 zespół zauważył, że używana jest flaga -dontoptimize. Po włączeniu optymalizacji przez usunięcie tego znacznika zespół Disney+ odnotował znaczną poprawę skuteczności aplikacji.

image.png

Gdy następnym razem ktoś zapyta Cię, co możesz zrobić, aby poprawić wydajność aplikacji, po prostu prześlij mu link do tego posta.

Więcej informacji znajdziesz w poście na blogu z dnia 1: Używaj R8 do zmniejszania, optymalizowania i przyspieszania działania aplikacji

Wskazówki dotyczące zwiększania skuteczności

Profile podstawowe skutecznie eliminują potrzebę kompilacji Just in Time, co zwiększa szybkość uruchamiania, przewijania, animacji i ogólną wydajność renderowania. Profile uruchamiania sprawiają, że uruchamianie aplikacji jest jeszcze lżejsze, ponieważ inteligentnie porządkują pliki classes.dex aplikacji.

Więcej informacji o tym, jak ważne są profile podstawowe dla wydajności aplikacji, znajdziesz na blogu inżynieryjnym firmy Meta. Firma ta udostępniła informacje o tym, jak profile podstawowe poprawiły różne kluczowe dane dotyczące wydajności w jej aplikacjach nawet o 40%.

W Jetpack Compose 1.10 Funkcje takie jak kompozycja z możliwością wstrzymania i okno pamięci podręcznej z możliwością dostosowania są kluczowe dla zachowania płynności przewijania w przypadku złożonych elementów listy.Obejrzyj najnowszy odcinek #TheAndroidShow, w którym wyjaśniamy to bardziej szczegółowo.

Więcej informacji znajdziesz w poście na blogu z środy: Deeper Performance Considerations

Pomiar skuteczności może być dziecinnie prosty

„Jeśli nie możesz czegoś zmierzyć, nie zdołasz tego poprawić”. Nasz przewodnik po poziomach skuteczności dzieli proces pomiaru na 5 etapów. Zaczyna się od łatwo dostępnych danych, a kończy na zaawansowanych narzędziach lokalnych.

Na poziomie 1 nauczymy Cię, jak korzystać z łatwo dostępnych danych z Android Vitals, które dostarczają danych z terenu na temat błędów ANR, awarii i nadmiernego wykorzystania baterii.

Nauczymy Cię też, jak zdobywać kolejne poziomy. Pokażemy na przykład, jak osiągnąć poziom 3 dzięki lokalnemu testowaniu wydajności za pomocą Jetpack Macrobenchmark i nowego interfejsu UiAutomator 2.4 API, aby dokładnie mierzyć i weryfikować wszelkie zmiany w wydajności aplikacji.

Więcej informacji znajdziesz na naszym blogu z czwartku: [Link do bloga z czwartku: przewodnik po poziomach w drodze do sukcesu]

Ulepszyliśmy debugowanie

Zaawansowana optymalizacja nie powinna oznaczać nieczytelnych raportów o awariach. Nowe funkcje zostały zaprojektowane tak, aby ułatwiać debugowanie R8 i zadań w tle:

Automatyczne ponowne śledzenie Logcat

Począwszy od Androida Studio Narwhal, ślady stosu mogą być automatycznie deobfuskowane w oknie Logcat. Dzięki temu możesz od razu zobaczyć i debugować wszelkie awarie w wersji gotowej do wdrożenia.

Zawężanie reguł przechowywania

We wtorek wyjaśniliśmy, jakie reguły Keep są potrzebne do naprawienia błędów w czasie działania, i podkreśliliśmy, że lepiej jest pisać konkretne reguły na poziomie elementów niż zbyt ogólne symbole wieloznaczne. To ważny temat, dlatego przygotowaliśmy dla Ciebie film.

Dzięki nowemu lintowaniu dla szerokich reguł Keep w pakiecie nowych funkcji Android Studio Otter 3 możesz też rozwiązać ten problem.

image.png

Opublikowaliśmy też nowe wskazówki dotyczące testowania i rozwiązywania problemów z konfiguracją R8, aby pomóc Ci w jej prawidłowym ustawieniu.

Więcej informacji znajdziesz w naszym blogu z wtorku: Konfigurowanie reguł zachowywania R8 i rozwiązywanie związanych z nimi problemów

Praca w tle

Udostępniliśmy wskazówki dotyczące debugowania typowych scenariuszy, które mogą wystąpić podczas planowania zadań za pomocą WorkManagera.

Background Task Inspector wyświetla wizualizację i wykres zadań WorkManager, co pomaga w debugowaniu opóźnień lub niepowodzeń zaplanowanych zadań. Odświeżona strona docelowa dokumentacji dotyczącej pracy w tle zawiera informacje o interfejsach API dostosowanych do konkretnych zadań, które są zoptymalizowane pod kątem określonych przypadków użycia, co pomaga w bardziej niezawodnym wykonywaniu zadań.

Więcej informacji znajdziesz w poście na naszym blogu z środy: Wskazówki dotyczące wydajności pracy w tle

Optymalizacja skuteczności to proces ciągły

Jeśli udało Ci się w tym tygodniu włączyć pełny tryb R8, kolejnym krokiem jest uwzględnienie wydajności w harmonogramie rozwoju produktu za pomocą oceny wydajności aplikacji. Te standardowe ramy pomagają znajdować działania, które mają największy wpływ na ciągłe doskonalenie.

Tydzień zakończyliśmy sesją pytań i odpowiedzi #AskAndroid Live, podczas której inżynierowie odpowiadali na najtrudniejsze pytania dotyczące R8, optymalizacji sterowanej profilowaniem i innych zagadnień. Jeśli Ci umknęło, poszukaj powtórki.

Dziękujemy za udział w szkoleniu. Teraz zacznij budować i nie zwalniaj tempa.

Autorzy:
Czytaj dalej