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 R8optymalizacji z użyciem profili po ulepszenia wydajności dzięki Jetpack Compose i nowy przewodnik dotyczący zwiększania 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 zoptymalizować swoje działania. Oto 5 najważniejszych wniosków z naszej wspólnej podróży.

Używanie optymalizatora R8 do przyspieszania 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 o 40% szybsze uruchamianie „na zimno”o 30% mniej błędów ANR.

Pełne studium przypadku znajdziesz na naszym blogu.

obraz.png

Inżynierowie z Disney+ dbają o 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.

obraz.png

Gdy następnym razem ktoś zapyta Cię, co możesz zrobić, aby zwiększyć 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 wskaźniki skuteczności w jej aplikacjach nawet o 40%.

Jetpack Compose 1.10 nadal zwiększamy wydajność tej biblioteki. 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

Nie możesz zarządzać tym, czego nie mierzysz. Nasz przewodnik po wyrównywaniu skuteczności dzieli proces pomiaru na 5 etapów – od łatwo dostępnych danych po zaawansowane narzędzia lokalne.

Zaczynając od poziomu 1, nauczymy Cię, jak korzystać z łatwo dostępnych danych z Android Vitals, które dostarczają danych z terenu dotyczących 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.

Wąskie reguły 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ć szczegółowe 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 funkcji Android Studio Otter 3 nie musisz się o to martwić.

obraz.png

Opublikowaliśmy też nowe wskazówki dotyczące testowaniarozwiązywania problemów z konfiguracją R8, aby ułatwić Ci jej prawidłowe ustawienie.

Więcej informacji znajdziesz na 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 przedstawia zadania WorkManager w formie wizualnej i wykresów, 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 zoptymalizowanych pod kątem konkretnych przypadków użycia, co pomaga w bardziej niezawodnym wykonywaniu zadań.

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

Optymalizacja skuteczności to ciągły proces

Jeśli udało Ci się w tym tygodniu włączyć pełny tryb R8, kolejnym krokiem jest uwzględnienie skuteczności w harmonogramie rozwoju produktu za pomocą oceny skuteczności aplikacji. Te standardowe ramy pomagają znajdować działania o największym potencjale 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 sterowanej profilowaniem i innych zagadnień. Jeśli Ci umknęło, poszukaj powtórki.

Dziękujemy za udział w szkoleniu. Teraz zacznij budować i utrzymuj to tempo.

Autor:

Czytaj dalej