Rovo89: Aktualizacja dotycząca rozwoju Xposed dla Nougata

Deweloper Xposed, Rovo89, zapewnił wgląd w bieżący stan Xposed dla Nougat. Przejdź dalej, aby dowiedzieć się, dlaczego aktualizacja trwa tak długo!

Powodem, dla którego osobiście nadal korzystam z Androida 6.0 Marshmallow na moim OnePlusa 3, pomimo OnePlus wypuszcza aktualizację Nougat dla telefonu do stabilnych kanałów, jest obecność Xposed. Framework Xposed i ekosystem modułów stanowią kluczową część preferowanego przeze mnie doświadczenia z Androidem - do tego stopnia, że ​​jestem skłonny zrezygnować z najnowszej aktualizacji systemu operacyjnego od producenta OEM, aby delektować się tą słodyczą owoc.

Chociaż wydanie Xposed dla Nougat zajmuje trochę czasu, a niektórym z nas nie przeszkadza dalsze czekanie, to jednak minęło trochę czasu odkąd ostatni raz słyszeliśmy o postępie projektu.

Starszy uznany programista XDA rovo89 zajęło to trochę czasu Poinformuj nas na temat aktualnej sytuacji dotyczącej projektu Xposed for Nougat:

„Wygląda na to, że coraz więcej osób denerwuje się tym, czy (i kiedy) pojawi się Xposed dla Nougata, więc poczułem, że powinienem coś powiedzieć.

Dlaczego to trwa tak długo? Ponieważ przy każdym wydaniu staram się, aby Xposed dobrze integrował się z ulepszeniami w nowej wersji ART. Krok od Lollipopa do Marshmallow nie był ogromny. To była ewolucja, niektóre rzeczy umożliwiły nawet integrację Xposed w bardziej elegancki sposób. Ogólnie rzecz biorąc, chodziło głównie o ostrożne przenoszenie, a nie o wprowadzanie innowacji.

W przypadku Nougata zmieniło się coś fundamentalnego. Jeśli już używasz Nougata, zauważyłeś, że instalacje są teraz znacznie szybsze. Dzieje się tak, ponieważ pliki APK nie są kompilowane natychmiast (AOT), ale rozpoczynają się w (wolniejszym) trybie interpretacji. Brzmi źle, ale włączono JIT, który szybko skompiluje te metody, które są bardzo często używane. Przywróci to dobrze znaną i stale udoskonalaną wydajność kodu natywnego. Poza tym ART prowadzi listę tych często stosowanych metod („profilowanie”). Gdy urządzenie jest bezczynne, ostatecznie wykonuje kompilację AOT, ale w oparciu o dane profilowania. Następnie uzyskasz doskonałą wydajność zaraz po uruchomieniu aplikacji. JIT wciąż czeka na zmianę wzorców użytkowania i myślę, że dostosuje również profil i poprawi kompilację AOT.

Powoduje to różne stany kompilacji i większą złożoność. Poza tym w przeszłości występowało wiele problemów spowodowanych koniecznością ponownej kompilacji całej pamięci ROM i wszystkich aplikacji przez Xposed: czasami powodowało to pętle rozruchowe, gdy pliki odex były zbyt mocno wstępnie zoptymalizowany, blokował sporo miejsca na przechowywanie przekompilowanych plików i musiałem wyłączyć niektóre optymalizacje, takie jak wstawianie i bezpośredni wskaźnik dzwoni. Mam nadzieję, że uda mi się skorzystać z kompilatora JIT, aby tego uniknąć w Nougacie. Gdyby Xposed wiedział, skąd wywoływana jest metoda, mógłby unieważnić skompilowany kod osoby wywołującej, tak że tymczasowo skorzystaliby z interpretera. Jeśli są wystarczająco ważne, JIT dokona ich ponownej kompilacji.

Przeprowadziłem już w tym celu wiele badań i eksperymentów, a obecnie próbuję to wdrożyć. Ale jak możesz sobie wyobrazić, wszystko to wymaga dużego wysiłku i może z łatwością zająć setki godzin…”

Głównym problemem, jak zwykle w projektach hobbystycznych, jest przydział czasu i rozumiemy, skąd pochodzi rovo89. Nawet w obecnej formie projekt Xposed obejmuje miesiące wysiłków różnych programistów, aby umożliwić użytkownikowi końcowemu korzystanie z niego w tak prosty i możliwy do dystrybucji sposób.

Jak to mówią, nie od razu Rzym zbudowano, ale cegły kładziono co godzinę:

Więc tak, nadal pracuję nad obsługą Nougata, jeśli tylko pozwala mi na to czas wolny, ale nie mam pojęcia, kiedy to się skończy. Kiedy już to zrobisz, będziesz wiedział.

Android nie jest doskonały, a Xposed pozwala nam naprawić to, czego nie zrobiłby oryginalny programista. W najnowszym systemie operacyjnym trwa oczekiwanie na ostateczną poprawkę dla Androida i życzymy rovo89 wszystkiego najlepszego.

Pełne oświadczenie można przeczytać w wpis na forum. Czy Wy też czekacie na Xposed? Daj nam znać w komentarzach!