Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Android 7.0: lepsza wydajność, dłuższa żywotność baterii

Spisu treści:

Anonim

Za każdym razem, gdy oprogramowanie w naszych telefonach otrzymuje dużą aktualizację, słyszymy, jak będzie działać lepiej i zużywa mniej energii. Choć często jest to prawdą, pomysły i sposób ich realizacji wymagają wielu dopracowań, aby spełnić oczekiwania. Android 7.0 ulepsza dwie istniejące funkcje, aby pomóc im w pełni wykorzystać swój potencjał: Projekty Doze i Project Svelte.

Cele są proste - znajdź sposoby na zmniejszenie zużycia energii przez telefon, gdy go nie używasz, i lepsze zarządzanie procesami w tle. Całe oprogramowanie jest zbudowane z naciskiem na wydajność i wydajność, a system operacyjny jest tym bardziej. Przyjrzymy się zmianom i zobaczymy, jak mogą one mieć wpływ.

Projekt Svelte

Projekt Svelte pojawił się w 2013 r. Wraz z wydaniem Androida 4.4 KitKat jako sposobu na lepszą wydajność systemu operacyjnego na niższych telefonach. Pod tym względem się udało, ale spodziewaliśmy się większych zmian niż mieliśmy. Aby dowiedzieć się, jakie były pierwotne intencje Svelte, nie szukaj dalej niż Android One. Celem było stworzenie niedrogiego sprzętu, który będzie działał z najnowszą wersją Androida wystarczająco dobrze, aby go polecić.

W systemie Android 7.0 projekt nadal zmniejsza wpływ na wydajność, ponieważ ma jeszcze lepszy system zarządzania procesami w tle.

Zmiany w Svelte dotyczą dwóch konkretnych i ważnych problemów, które zmuszają aplikacje do działania w tle

Android bardzo różni się od iOS. Każdy programista może uiścić niewielką opłatę i opublikować aplikację w Google Play obok nazw takich jak Facebook czy Samsung. Pod warunkiem, że aplikacja nie zawiera złośliwego kodu, zostanie uruchomiona dla wszystkich do zainstalowania i dopóki nie zostanie zgłoszona za nieodpowiednią zawartość lub działania, pozostanie (chociaż Google twierdzi, że wykonuje automatyczną kontrolę każdej aplikacji przed opublikowaniem jej na żywo). Jest to dalekie od każdej przesłanej aplikacji przechodzącej przez proces ręcznego zatwierdzania, a to oznacza, że ​​aplikacje nie są odrzucane, ponieważ nie przestrzegają najlepszych praktyk programistycznych. Zachowanie niektórych obecnych interfejsów API nie pomaga, a nawet najlepsze aplikacje mogą zbyt często się budzić i wykorzystywać zasoby z powodu błędnego procesu.

Ulepszenia Svelte w Android Nougat rozwiązują dwa rażące problemy:

  • Aplikacje sprawdzają, czy sieć zmienia się za pomocą tak zwanego odbiornika. Gdy nastąpi zmiana, każda aplikacja oczekująca na zmianę za pomocą metody domyślnej budzi się jednocześnie i próbuje przetworzyć dane dotyczące zmiany. Pomyśl, jak działa Twój telefon, gdy jest uruchamiany po raz pierwszy i wszystko próbuje się wydarzyć od razu, a Ty mam pojęcie, dlaczego wymaga to jakiejś poprawy. W przypadku systemu Android 7.0 aplikacje mogą nasłuchiwać zmian w sieci tylko przez główny wątek (który działa, gdy aplikacja jest w stanie czuwania i używasz jej), więc nie budzą się za każdym razem, gdy zmieniasz sieć. Spowoduje to zużycie mniej pamięci RAM i czasu procesora, co oznacza, że ​​nasze telefony będą działać lepiej i zużywać mniej energii.
  • W poprzednich wersjach Androida aplikacje mogły nasłuchiwać na podobnym odbiorniku telewizyjnym w celu wykonania zdjęcia lub filmu. Kiedy tak się stało, każda aplikacja, która nasłuchiwała, obudziła się i próbowała przetworzyć dane naraz. Jak wyżej, nie jest to zbyt dobre pod względem wydajności. W Androidzie 7.0 nowe zdjęcie i nowe transmisje wideo nie mogą być wysyłane. Oznacza to, że nawet jeśli programiści nie zaktualizują istniejących aplikacji, nigdy nie zostaną poinformowani o przebudzeniu podczas robienia zdjęcia lub nagrania wideo.

Aby aplikacje mogły wykonywać wiele czynności, które chcemy, muszą pozostać przy życiu. Ograniczenie czynności, które robią, gdy cicho czekają, aż znów staną się aktywne, poprzez wyeliminowanie niepotrzebnych funkcji oznacza, że ​​mniej aplikacji będzie działać zamiast spać, gdy zostaną wysłane w tło.

Project Doze

Sposób, w jaki teraz działa, albo uwielbiasz drzemkę, albo nie widzisz, że drzemka robi coś zauważalnego na twoim telefonie. To z powodu sposobu, w jaki to działa.

Kiedy Doze zadebiutował w systemie Android 6.0, jego celem było odroczenie aktywności procesora i sieci, gdy ekran telefonu był wyłączony, odłączony i nieruchomy. Jeśli wszystkie trzy kryteria nie zostaną spełnione, drzemka nie uruchomi się, a aplikacje będą działać normalnie. Działa to świetnie podczas pracy w biurze i przy biurku, ale gdy tylko znalazło się w kieszeni, Doze przestał robić cokolwiek, a korzyści ustały.

Dwustopniowa drzemka pozwala telefonowi zużywać mniej energii, gdy jesteś w ruchu

Zmiana zachowania w Android Nougat jest prosta. Drzemka ma teraz dwa etapy: jeden ma miejsce, gdy ekran jest wyłączony, a telefon jest odłączony, a drugi ma miejsce, gdy telefon jest nieruchomy.

Gdy telefon działa tylko na baterii, a ekran jest wyłączony przez określony czas, aplikacje przestaną bezpośrednio uzyskiwać dostęp do sieci, a działania, takie jak synchronizacja i inne zadania, będą odraczane, aż upłynie określony czas. Następnie krótkie okno konserwacji pozwala im wykonywać normalne funkcje w tle. Ta część działa, gdy telefon znajduje się w kieszeni lub podlega innym formom ruchu.

Gdy telefon jest również ustawiony przez określony czas, wszystkie ograniczenia drzemki - dodatkowe rzeczy, takie jak aplikacje budzące się w tle lub nasłuchujące czegoś, co nazywa się alarmem (nie takim, który budzi cię rano, nie ma to wpływu) lub szukając bieżącej lokalizacji - są stosowane na szczycie sieci i odroczenia zadań. Okno konserwacji nadal pojawia się regularnie, ale między tymi oknami telefon ledwo żyje i nie robi wiele, dopóki go nie podniesiesz.

Wiemy, jak dobrze działa Drzemka (gdy nie została zmodyfikowana przez osoby, które zbudowały Twój telefon), gdy telefon jest nieruchomy. Teraz zobaczymy także korzyść, gdy będziemy w ruchu i ruszymy.

Czy zmiany w Svelte i Doze naprawią każdy problem z wydajnością i baterią? Odpowiedź oczywiście brzmi „nie”. Ale te zmiany są logicznymi krokami, które dotyczą dwóch bardzo konkretnych rzeczy, które wymagały rozwiązania. wynik okaże się lepszy od tego, co mamy teraz, nawet jeśli nie będzie w stanie rozwiązać wszystkiego.