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.
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.
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.
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.
-
Wydarzenia i programyZaczynamy od jednej z najbardziej skutecznych zmian, które możesz wprowadzić, aby zwiększyć wydajność aplikacji. Wymaga ona niewielkiego nakładu pracy: włącz optymalizator R8 w trybie pełnym.
Ben Weiss • Czas czytania: 5 minut -
Wydarzenia i programyTwórz aplikacje na przyszłość w ramach programu Android XR Developer Catalyst – zgłoś się już teraz!
Otwieramy nabór do Programu Catalyst dla deweloperów Androida XR, czyli specjalnej inicjatywy, która ma przyspieszyć tworzenie aplikacji na Androida XR gotowych do wprowadzenia na rynek w ciągu najbliższego roku.
Czas czytania: 1 minuta -
Wydarzenia i programyHarmonogram Google I/O jest już dostępny.
Czas czytania: 1 minuta
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.