Pełna optymalizacja: podsumowanie Tygodnia wyróżnień za skuteczność
3 minuty czytania
W zeszłym tygodniu skupiliśmy się na udostępnianiu sprawdzonych metod i wskazówek, które pomagają przyspieszyć działanie aplikacji na Androida, zmniejszyć ich rozmiar i zwiększyć stabilność. Od podstawowych możliwości optymalizatora R8 i optymalizacji z wykorzystaniem profili po poprawę wydajności dzięki Jetpack Compose i nowy przewodnik dotyczący zwiększania wydajności aplikacji – omówiliśmy narzędzia niewymagające dużego nakładu pracy, ale przynoszące duże korzyści, które są potrzebne do tworzenia wydajnych aplikacji.
Ten post to indeks i mapa drogowa, dzięki którym możesz wracać do tych zasobów, gdy tylko zechcesz zoptymalizować aplikację. Oto 5 najważniejszych wniosków z naszej wspólnej podróży.
Używaj optymalizatora R8, aby przyspieszyć działanie aplikacji
Najbardziej skuteczną zmianą, która nie wymaga dużego nakładu pracy, jest pełne włączenie optymalizatora R8. Nie tylko zmniejsza on rozmiar aplikacji, ale też przeprowadza dogłębną optymalizację całego programu, aby zasadniczo przepisać kod pod kątem wydajności. Sprawdź reguły Keep i ponownie włącz R8 w zadaniach inżynieryjnych.
Pomoże Ci w tym nasza zaktualizowana i rozszerzona dokumentacja optymalizatora R8.
Po włączeniu pełnego trybu R8 Reddit odnotował 40% szybsze uruchamianie „na zimno” i 30% mniej błędów ANR.
Pełne studium przypadku znajdziesz na naszym blogu.
Inżynierowie 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 tej flagi zespół Disney+ zauważył znaczną poprawę wydajnoś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żywanie R8 do zmniejszania rozmiaru aplikacji, optymalizowania jej i przyspieszania jej działania
Wskazówki dotyczące zwiększania wydajności
Profile podstawowe skutecznie eliminują potrzebę kompilacji Just in Time, co poprawia szybkość uruchamiania, przewijania, animacji i ogólną wydajność renderowania.Profile uruchamiania sprawiają, że uruchamianie aplikacji jest jeszcze szybsze, dzięki inteligentnemu uporządkowaniu plików classes.dex aplikacji.
Aby dowiedzieć się więcej o tym, jak ważne są profile podstawowe dla wydajności aplikacji, przeczytaj blog inżynieryjny Meta , w którym firma ta opisała, jak profile podstawowe poprawiły różne krytyczne wskaźniki wydajności w jej aplikacjach nawet o 40%.
W Jetpack Compose 1.10 nadal zwiększamy wydajność Jetpack Compose. Funkcje takie jak wstrzymywanie kompozycji i konfigurowalne okno pamięci podręcznej są kluczowe do utrzymania płynnego przewijania w przypadku złożonych elementów listy.Więcej informacji na ten temat znajdziesz w najnowszym odcinku #TheAndroidShow.
Więcej informacji znajdziesz w poście na blogu z środy: Dalsze rozważania na temat wydajności
Mierzenie wydajności może być proste
Nie można zarządzać tym, czego się nie mierzy. Nasz przewodnik po zwiększaniu wydajności dzieli proces pomiaru na 5 etapów, zaczynając od łatwo dostępnych danych i przechodząc do zaawansowanych narzędzi lokalnych.
Na poziomie 1 nauczymy Cię, jak korzystać z łatwo dostępnych danych z Android Vitals, które zawierają dane z terenu dotyczące błędów ANR, awarii i nadmiernego wykorzystania baterii.
Nauczymy Cię też, jak zwiększać poziom. Na przykład pokażemy, jak osiągnąć poziom 3 dzięki lokalnemu testowaniu wydajności za pomocą Jetpack Macrobenchmark i nowego interfejsu API UiAutomator 2.4 , aby dokładnie mierzyć i weryfikować wszelkie zmiany w wydajności aplikacji.
Więcej informacji znajdziesz w poście na blogu z czwartku: [Link to Thursday's Blog: Leveling Guide for your Performance Journey]
Ulepszone debugowanie wydajności
Zaawansowana optymalizacja nie powinna oznaczać nieczytelnych raportów o awariach. Nowe funkcje mają pomóc Ci w debugowaniu R8 i pracy w tle:
Automatyczne ponowne śledzenie Logcata
Począwszy od Android Studio Narwhal, ślady stosu można automatycznie deobfuskować w oknie Logcat. Dzięki temu możesz od razu zobaczyć i debugować wszelkie awarie w wersji gotowej do produkcji.
Wąskie reguły Keep
We wtorek wyjaśniliśmy reguły Keep potrzebne do naprawiania awarii w czasie działania, podkreślając, że lepiej jest pisać konkretne reguły na poziomie elementów niż używać zbyt szerokich symboli wieloznacznych. Ponieważ jest to ważny temat, przygotowaliśmy też film.
Dzięki nowemu sprawdzeniu lint pod kątem szerokich reguł Keep w Android Studio Otter 3 Feature Drop masz też dostęp do tej funkcji.
Opublikowaliśmy też nowe wskazówki dotyczące testowania i rozwiązywania problemów z konfiguracją R8, aby pomóc Ci w prawidłowym skonfigurowaniu aplikacji.
Więcej informacji znajdziesz w poście na blogu z wtorku: Konfigurowanie reguł Keep w R8 i rozwiązywanie problemów z nimi
Praca w tle
Udostępniliśmy wskazówki dotyczące debugowania typowych scenariuszy, które mogą wystąpić podczas planowania zadań za pomocą WorkManagera.
Inspektor zadań w tle przedstawia zadania WorkManagera w postaci wizualnej i wykresu, co pomaga w debugowaniu przyczyn opóźnienia lub niepowodzenia zaplanowanej pracy. Odświeżona strona docelowa dokumentacji dotyczącej pracy w tle strona docelowa zawiera informacje o interfejsach API specyficznych dla zadań, które są zoptymalizowane pod kątem konkretnych przypadków użycia, co pomaga w osiągnięciu bardziej niezawodnego wykonywania.
Więcej informacji znajdziesz w poście na blogu z środy: Rozważania na temat wydajności pracy w tle
Optymalizacja wydajności to ciągły proces
Jeśli w tym tygodniu udało Ci się włączyć pełny tryb R8, następnym krokiem jest zintegrowanie wydajności z planem rozwoju produktu za pomocą wyniku wydajności aplikacji. Ten ustandaryzowany framework pomaga znaleźć działania, które przynoszą największe korzyści w zakresie ciągłego doskonalenia.
Tydzień zakończyliśmy sesją pytań i odpowiedzi #AskAndroid Live , podczas której inżynierowie odpowiadali na najtrudniejsze pytania dotyczące R8, optymalizacji z wykorzystaniem profili i innych kwestii. Jeśli Cię to ominęło, poszukaj powtórki.
Dziękujemy, że do nas dołączyłeś(-aś)! Teraz możesz zacząć tworzyć i kontynuować pracę.
-
Wydarzenia i programyZaczynamy od najbardziej skutecznej zmiany, która nie wymaga dużego nakładu pracy, a może poprawić wydajność aplikacji – włączenia optymalizatora R8 w pełnym trybie.
Ben Weiss • 5 min czytania -
Wydarzenia i programyTwórz aplikacje na przyszłość dzięki programowi Android XR Developer Catalyst – zgłoś się już teraz!
Otwieramy nabór do programu Android XR Developer Catalyst, czyli inicjatywy mającej na celu przyspieszenie tworzenia aplikacji na Androida XR, które będą gotowe do uruchomienia w ciągu najbliższego roku.
1 min czytania -
Wydarzenia i programyHarmonogram Google I/O jest już dostępny.
1 min czytania
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.