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

Wyjaśnienie „zgnilizny bitów”: dlaczego telefon jest wolniejszy niż wtedy, gdy był nowy

Spisu treści:

Anonim

Komputery są podobne do ludzi - z wiekiem stają się nieco wolniejsze, a wady są łatwiejsze do zauważenia.

Nasze telefony to komputery zmniejszone do rozmiarów kieszonkowych i łatwych do przenoszenia. A to oznacza, że ​​w miarę upływu czasu rzeczy nie dzieją się tak szybko, jak kiedyś lub rzeczy mogą się trochę popsuć. To jest uniwersalne; zdarza się to w telefonach Galaxy i LG oraz telefonach Pixel i iPhone'ach oraz w każdym innym telefonie, który nie tylko wykonuje połączenia i wysyła SMS-y. Niektórzy twierdzą, że tak się nie dzieje, a to dlatego, że tak się dzieje i że oprogramowanie jest pisane dla wszystkich różnych telefonów na wolności. Ale wciąż dzieje się to na twoim telefonie i zawsze tak będzie.

Rzućmy okiem na to, co jest powszechnie znane jako „Bit Rot” i zobaczmy, czy nie możemy trochę lepiej zrozumieć rzeczy.

Czym dokładnie jest Bit Rot?

Jest to termin, który jest często rzucany przez ludzi, którzy są na komputerach, i zasadniczo oznacza to, że oprogramowanie jest „stare” i stało się wolniejsze niż kiedyś. W grę wchodzą trzy rzeczy i są one dobrze udokumentowane, nawet jeśli nie są bardzo łatwe do zrozumienia: Erozja oprogramowania, Entropia oprogramowania i Nadmuch oprogramowania.

Po pierwsze, niektóre wartości odstające

Czasami mogą być też inne czynniki. Degradacja danych i pełzanie funkcji może powodować spowolnienie programów i aplikacji, ale łatwiej je wyjaśnić i różnią się nieco od tego, co nazywamy Bit Rot. Degradacja danych to wymyślne słowo, które oznacza, że ​​twoja pamięć - pamięć RAM, pamięć masowa lub jedno i drugie - się starzeje. Pamięć RAM i nośniki półprzewodnikowe wymagają ładowania elektrycznego i z czasem mogą rozproszyć więcej, niż zostały zaprojektowane. Oznacza to, że niektóre zapisane bity (bity oprogramowania) można zmienić. Gdy kilka bitów jest błędnych, wiele programów może to zrekompensować, ale zajmuje to dużo czasu, a programy są nieco wolniejsze. Kiedy wiele bitów się myli, przestaje działać zgodnie z przeznaczeniem.

Degradacja danych i pełzanie funkcji mogą spowalniać twój telefon, ale różnią się od Bit Rot.

Funkcja pełzania jest łatwa do zrozumienia. Twój telefon został zbudowany z myślą o konkretnym zestawie oprogramowania. Gdy otrzymasz aktualizację, która dodaje więcej funkcji, sprzęt musi ciężko pracować, a wszystko staje się wolniejsze. Fora internetowe są wypełnione ludźmi, którzy nienawidzili najnowszej aktualizacji telefonu Galaxy oraz osobami ze starszymi iPhone'ami, które nienawidzą najnowszej wersji iOS. To dlatego, że oprogramowanie zostało napisane z myślą o nowszym i bardziej wydajnym sprzęcie, podobnie jak oprogramowanie, w którym pierwotnie dostarczono telefon. Wszyscy uwielbiamy nowe funkcje i aktualizacje, ale stare powiedzenie „uważaj na to, czego sobie życzysz” znajduje się właśnie tutaj.

Problemy te z pewnością mogą mieć wpływ, ale różnią się od Bit Rot i prawdopodobnie nie przyczyniają się zbytnio do spowolnienia na naszych telefonach, ponieważ nie utrzymujemy ich wystarczająco długo, aby zobaczyć je w akcji.

Erozja oprogramowania

Erozja oprogramowania to powolne, ale stałe obniżanie wydajności, które może przytrafić się każdemu oprogramowaniu, niezależnie od tego, czy używamy go często, czy tylko trochę. A nawet nigdy. Dzieje się tak, ponieważ korzystamy z oprogramowania, a wszystkie aplikacje zmieniają się, gdy są używane - dodajemy dane użytkownika do bazy, aby oprogramowanie robiło to, co chcemy. Zauważ, że różni się to od tego, że oprogramowanie działa powoli lub jest błędne, podczas gdy często go używamy, ale wraca do normy po ponownym uruchomieniu. Wynika to zwykle z niewielkich błędów narastających w czasie lub wycieku pamięci. Nie można naprawić erozji oprogramowania, zamykając i ponownie otwierając aplikację lub ponownie uruchamiając telefon.

Całe oprogramowanie zawiera błędy i wymaga regularnej konserwacji, której nigdy nie otrzymuje.

Istnieją dwa różne rodzaje erozji oprogramowania: uśpione i aktywne. Uśpiona erozja oprogramowania ma miejsce, gdy program lub jego części, których nie używasz, przestają działać dobrze, ponieważ zmieniły się inne rzeczy, a aktywna erozja następuje z powodu zmian podczas korzystania z niego. Oba typy występują z kilku różnych powodów.

  • Niewykorzystany lub resztkowy kod może (i często zawiera) błędy, które nie zostaną złapane.

Całe oprogramowanie zawiera błędy, bez względu na to, co mówi programista lub użytkownik. Kiedy firma zmienia kod, istnieje duża szansa, że ​​część oryginalnego kodu nigdy nie zostanie wykorzystana, ale nadal jest wbudowana w produkt końcowy. Błędy tutaj nie są tak prawdopodobne, że zostaną złapane i mogą mieć natychmiastowy efekt lub taki, który zajmuje trochę czasu.

  • Zmiany, ponieważ oprogramowanie nie jest przyjazne dla użytkownika, często się zdarzają.

Deweloper tworzy oprogramowanie z konkretnym wyobrażeniem o tym, jak z niego korzystać, ale kiedy dostanie się w nasze ręce, często nie używamy go w ten sposób! Czasami nie jest to nasza wina, a oprogramowanie ma źle zaimplementowany interfejs, więc robimy rzeczy, których deweloper nigdy nie myślał. Innym razem to nasza wina i robimy takie rzeczy, jak tworzenie wielu kont lub uruchamianie wielu instancji aplikacji lub funkcji, które nie zostały zaprojektowane w taki sposób. Może to pozostawić dane użytkownika lub dane z pamięci podręcznej, które są trudniejsze do przetworzenia przez aplikację.

  • Brak aktualizacji i konserwacji jest zły.

Każdy programista powie ci, że zadanie nie zostało ukończone po opublikowaniu programu i że oprogramowanie musi zostać utrzymane. Oznacza to naprawianie błędów znalezionych przez użytkowników, ale także częste aktualizacje, aby działały dobrze z innym oprogramowaniem. Brak regularnej konserwacji we wszystkich obszarach jest największą przyczyną erozji oprogramowania.

„Android” działający na twoim telefonie to tak naprawdę duża grupa niezależnie działających programów i usług, które muszą się ze sobą stale komunikować. Przykład: Facebook wprowadza kolejną zmianę na swoich serwerach, a następnie aktualizuje aplikację w Google Play. Twoja aplikacja Kontakty jest powiązana z Facebookiem, więc może wymagać aktualizacji. Albo kamera otrzyma aktualizację, ale związana z nią aplikacja galerii nie. Wszystkie części systemu muszą współpracować ze wszystkimi pozostałymi częściami, a to oznacza regularną konserwację.

Dobrą wiadomością jest to, że wiele problemów związanych z erozją oprogramowania zostało naprawionych po przywróceniu ustawień fabrycznych, w których usuwane są wszystkie dane użytkownika. Zła wiadomość jest taka, że ​​w końcu wszystko wraca.

Entropia oprogramowania

Całe oprogramowanie, którego nie możemy zmienić, zawiera błędy i nieużywany kod (patrz wyżej). Błędy te prawdopodobnie pozostaną niezmienione w miarę upływu czasu, ale mogą się pogorszyć wraz ze wzrostem złożoności oprogramowania, które możemy zmienić. Nazywa się to Software Entropy.

Oprogramowanie, które zmieniasz, wpływa na oprogramowanie, którego nie możesz zmienić, ponieważ sam system staje się bardziej złożony.

Większość oprogramowania w telefonie jest w systemie zamkniętym. Być może będziesz mógł zaktualizować aplikację klawiatury lub aparatu ze Sklepu Play, ale większość systemu operacyjnego jest zainstalowana fabrycznie i zmieniana tylko przy pełnej aktualizacji systemu. To bardzo różni się od wszystkich aplikacji, zarówno fabrycznie instalowanych aplikacji użytkownika, jak i tych, które zainstalowałeś sam. Oprogramowanie, które możesz zmienić, z czasem staje się coraz bardziej złożone, a oprogramowanie, którego nie możesz zmienić, musi sobie z tym poradzić.

Ludzie, którzy napisali oprogramowanie na twoim telefonie, są naprawdę mądrzy, jeśli chodzi o to wszystko. Ale nikt nie może wiedzieć, co zrobimy, jakie nowe aplikacje będą w stanie to zrobić i jak aplikacje zaprojektowane dla jednego zestawu interfejsów API (interfejsów programowania aplikacji), na przykład interfejsy API Samsunga z zestawu programistycznego, będą współpracować z aplikacjami zaprojektowane dla innego zestawu interfejsów API, takich jak Google, które są częścią Androida. Programiści muszą dołożyć wszelkich starań, aby zgadywać i tworzyć oprogramowanie w sposób, który nie ulegnie uszkodzeniu i nie da nadziei na najlepsze.

Istnieją dwa sposoby walki z Entropią oprogramowania - regularna konserwacja oprogramowania poprzez terminowe aktualizacje lub przywracanie oprogramowania użytkownika do stanu fabrycznego.

Oprogramowanie Bloat

Nie to sugeruje nazwa, chociaż dodatkowe aplikacje typu bloatware mogą powodować spowolnienie działania. Software Bloat, gdy mówimy o Bit Rot, oznacza oprogramowanie, które jest wypełnione dodatkowymi lub nieużywanymi funkcjami.

Im więcej funkcji zostanie dodanych do dowolnego programu, tym bardziej będzie on złożony. Złożoność powoduje spowolnienie aplikacji.

Nie można zdefiniować „dodatkowych” funkcji. Aplikacje lub części aplikacji, których nie używam, są dla mnie obce, ale możesz ich używać i kochać. Z punktu widzenia komputera jedyną dobrą aplikacją jest aplikacja, która wykonuje tylko jedną rzecz, a następnie zamyka się po zakończeniu. Jest to niepraktyczne z punktu widzenia użytkownika; wyobraź sobie aplikację na klawiaturę, która zamyka się po wpisaniu każdej litery. Firmy, które produkują telefony, które kochamy, muszą znaleźć szczęśliwy środek między funkcjami a wydajnością, używając odpowiedniego sprzętu lub ograniczając funkcje w aplikacjach. Może to oznaczać dodanie większej ilości pamięci RAM i użycie szybszego procesora lub funkcji przycinania z aplikacji lub obu.

Kolejną częścią „dodatkowych” funkcji jest oprogramowanie, które musi być w stanie obsługiwać wiele (i często konkurujących) standardów. Twoje aplikacje pocztowe są tego doskonałym przykładem. Jeśli korzystasz z Gmaila i korzystasz z aplikacji Gmail, rzeczy są znacznie usprawnione, niż gdybyś używał innej aplikacji e-mail z kontem Gmail, kontem Exchange lub czymś takim jak Yahoo! Konto POP3. Aplikacja poczty e-mail musi być w stanie robić rzeczy, których nie potrafi aplikacja Gmail, i musi obsługiwać różne typy danych, które tworzymy. Przetwarzanie zajmuje dużo czasu, a ponieważ dodajemy więcej danych, zajmuje to więcej czasu.

Być może najlepszym przykładem „dodatkowych” funkcji i ich wpływu na wydajność byłoby porównanie Evernote i Google Keep. Jeśli używasz aplikacji tylko do robienia notatek, wszystkie dodatki w Evernote oznaczają, że ich dodanie lub przeczytanie zajmuje dużo więcej czasu. Jeśli podoba Ci się te dodatkowe funkcje, szybko przekonasz się, że Google Keep nie może zrobić większości z nich. Nie ma tu ani dobra, ani zła, ale ma to duży wpływ na wydajność.

Niewykorzystane funkcje „resztkowe” mogą nadal działać i powodować problemy, a nasze telefony są nimi wypełnione.

Niewykorzystane funkcje są bardziej frustrujące, ponieważ nie wiemy, że tam są i nie moglibyśmy nic zrobić, aby to zmienić. Gdy firma taka jak LG (wybierzemy je tutaj, ale dotyczy to każdej firmy produkującej telefony, nawet Google) tworzy telefon z własnymi aplikacjami, które są duplikatami „standardowych” aplikacji na Androida, takich jak dialer telefoniczny lub kalendarz, jest wiele resztek kodu, który nie jest używany. Część kodu nadal działa również po uruchomieniu telefonu. Rozmawialiśmy o tym, jak to oznacza, że ​​błędy będą trudniejsze do znalezienia w tej części kodu, ale może również mieć duży wpływ na wydajność. Po uwzględnieniu Software Entropy widzimy, jak z czasem te błędy mogą się pogarszać.

Kiedy widzisz głupie argumenty w komentarzach o tym, jak telefon taki jak Moto G5 jest szybszy niż Galaxy S8 z połową mocy sprzętowej, Software Bloat jest tego powodem.

Co to wszystko oznacza i co mogę z tym zrobić?

To proste pytanie - oznacza to, że niektóre telefony są wolniejsze od innych, a niektóre z czasem stają się zauważalnie wolniejsze, podczas gdy inne są mniej dotknięte. I tak naprawdę nic nie możemy na to poradzić.

Więcej funkcji oznacza wolniejsze oprogramowanie i większe możliwości wystąpienia Bit Rot. Jest to transakcja, którą wielu chętnie wykonuje.

Prawdziwa rozmowa - telefon taki jak Note 8 jest zauważalnie wolniejszy (i pokazuje go, gdy jest podłączony do narzędzi monitorujących wydajność) niż Pixel 2. Note 8 będzie jeszcze wolniejszy sześć miesięcy później. Ale Pixel 2 nigdy nie będzie w stanie zrobić niektórych rzeczy, które robi Note 8, bez względu na to, ile zainstalowanych aplikacji lub jak włamujemy się do tego. Mogę dodać adnotację do zrzutu ekranu za pomocą rysika S Pen zaraz po tym, jak zrobię to na Note 8, ale na Pixel 2 muszę udostępnić zrzut ekranu innemu urządzeniu, aby dodać adnotację o tym samym poziomie funkcji i szczegółów.

Podobnie jak powyższy argument Evernote vs. Google Keep, to, co lepsze, to w dużej mierze kwestia funkcji, które lubisz. Note 8 ma wszystkie funkcje. Oznacza to, że ma wszystkie błędy i wzdęcia oprogramowania, które sprawiają, że Bit Rot jest bardziej zauważalny. To może być problem dla ciebie, ale dla innych nie dzieje się tak, ponieważ nie ma innego sposobu na uzyskanie zestawu funkcji. Dlatego jest więcej telefonów z Androidem niż tylko Pixel i Pixel Plus i co każdy ma na myśli, gdy mówi, że Android daje wybór.

A kiedy Bit Rot stanie się na tyle problemem, że trzeba coś z tym zrobić, wystarczy zresetować telefon do ustawień fabrycznych i poświęcić kilka godzin na przywrócenie ustawień.

Pytania?

Dźwięk w komentarzach poniżej!