Android Central

„Bit Rot“ обясни: Защо телефонът ви е по-бавен, отколкото когато е бил нов

protection click fraud

Компютрите са нещо като хората - с възрастта те са склонни да стават малко по-бавни и недостатъците се виждат по-лесно.

Нашите телефони са компютри, смалени до джобен размер и лесни за носене. А това означава, че с течение на времето нещата не се случват толкова бързо, колкото преди, или нещата могат да станат малко бъги. Това е универсално; случва се на телефони Galaxy и телефони LG и телефони Pixel и телефони iPhone и всеки друг телефон, който прави повече от обаждания и изпращане на текстови съобщения. Някои хора казват, че не го правят виж това се случва и това е заради защо това се случва и начинът, по който е написан софтуерът за всички различни телефони в дивата природа. Но това все още се случва на телефона ви в момента и винаги ще бъде.

Нека да разгледаме това, което е известно като "Bit Rot" и да видим дали не можем да разберем нещата малко по-добре.

Какво точно е Bit Rot?

Това е термин, който често се използва от хора, които се занимават с компютри, и всъщност означава, че софтуерът е „стар“ и е станал по-бавен от преди. Има три неща в игра и те са добре документирани, дори и да не са много лесни за разбиране:

Софтуерна ерозия, Софтуерна ентропия, и Софтуерно подуване.

Първо, някои извънредни стойности

Понякога може да има и други фактори. Деградация на данни и Feature Creep могат да причинят забавяне на програми и приложения, но са по-лесни за обяснение и са малко по-различни от това, което наричаме Bit Rot. Деградацията на данни е фантастична дума, която означава, че паметта ви - RAM, паметта или и двете - остарява. RAM и Solid State медиите изискват електрически заряд и с течение на времето той може да се разпръсне повече, отколкото е предназначен. Това означава, че някои от съхранените битове (софтуерни битове) могат да бъдат променяни. Когато няколко бита са грешни, много програми могат да компенсират, но това отнема време и програмите са малко по-бавни. Когато много битове не са наред, нещата почти спират да работят по предназначение.

Влошаването на данните и пълзенето на функции също могат да направят телефона ви по-бавен, но са различни от Bit Rot.

Функцията Creep е лесна за разбиране. Вашият телефон е създаден с предвид специфичен набор от софтуер. Когато получите актуализация, която добавя повече функции, хардуерът трябва да работи по-усилено и нещата стават по-бавни. Онлайн форумите са пълни с хора, които мразеха скорошна актуализация на своя телефон Galaxy и хора с по-стари iPhone, които мразят най-новата версия на iOS. Това е така, защото софтуерът е написан с мисъл за по-нов и по-мощен хардуер, точно както софтуерът, с който телефонът ви е бил доставен първоначално. Всички обичаме нови функции и актуализации, но старата поговорка „внимавай какво си пожелаваш“ е точно за парите тук.

Тези проблеми със сигурност могат да имат ефект, но те са различни от Bit Rot и вероятно не са допринасяйки много за забавянето на нашите телефони, защото не ги държим достатъчно дълго, за да го видим действие.

Софтуерна ерозия

Софтуерната ерозия е бавното, но постоянно влошаване на производителността, което може да се случи на всеки софтуер, независимо дали е нещо, което използваме много или съвсем малко. Или дори никога. Това се случва, защото ние използване софтуерът и всички приложения се променят, когато се използват — добавяме потребителски данни към базата, така че софтуерът да прави това, което искаме да прави. Обърнете внимание, че това е различно от това софтуерът да се бави или да има грешки, докато го използваме много, но да се върне към нормалното с рестартиране. Това обикновено се дължи на малки грешки, натрупващи се с времето, или на изтичане на памет. Не можете да коригирате софтуерната ерозия, като затворите и отворите отново приложение или рестартирате телефона си.

Всеки софтуер има грешки и всеки софтуер се нуждае от редовна поддръжка, която никога не получава.

Има два различни вида софтуерна ерозия, пасивна и активна. Спяща софтуерна ерозия се случва, когато програма или части от програма, които не използвате, спрат да работят добре, защото други неща са се променили, а активната ерозия се случва поради промени, докато я използвате. И двата типа се случват поради няколко различни причини.

  • Неизползваният или остатъчен код може (и често съдържа) да съдържа грешки, които не се улавят.

Всеки софтуер има грешки, независимо какво казва разработчик или потребител. Когато една компания промени някакъв код, има много голям шанс част от оригиналния код никога да не бъде използван, но все още е вграден в крайния продукт. Грешките тук няма толкова голяма вероятност да бъдат хванати и могат да имат незабавен ефект или такъв, който отнема известно време, за да се появи.

  • Промените се случват често, защото софтуерът не е удобен за потребителя.

Разработчикът създава софтуер с конкретна идея как ще го използваме, но след като попадне в ръцете ни, често не го използваме по този начин! Понякога това не е наша вина и софтуерът има лошо внедрен интерфейс, така че правим неща, които разработчикът никога не е предполагал, че ще направим. Друг път вината е наша и правим неща като създаване на множество акаунти или стартиране на множество екземпляри на приложение или функция, които не са проектирани да работят по този начин. Това може да остави потребителски данни или кеширани данни, които са по-трудни за обработка от приложението.

  • Липсата на актуализации и поддръжка са лоши.

Всеки разработчик ще ви каже, че работата не е завършена след публикуването на програмата и софтуерът трябва да се поддържа. Това означава коригиране на грешки, открити от потребителите, но и чести актуализации, за да работи добре с друг софтуер. Липсата на редовна поддръжка навсякъде е най-голямата причина за софтуерната ерозия.

"Android", който работи на вашия телефон, всъщност е голяма група от независимо работещи програми и услуги, които трябва да комуникират помежду си постоянно. Пример: Facebook прави друга промяна на своите сървъри, след което актуализира приложението в Google Play. Вашето приложение Контакти е свързано с Facebook, така че може да се нуждае от актуализация. Или камерата ви получава актуализация, но приложението за галерия, което е свързано с нея, не. Всички части на системата трябва да работят с всички останали части, а това означава редовна поддръжка.

Добрата новина тук е, че много проблеми с ерозията на софтуера се коригират с възстановяване на фабричните настройки, при което всички потребителски данни се изтриват. Лошата новина е, че всичко се връща в крайна сметка.

Софтуерна ентропия

Целият софтуер, който ние не мога промяната има грешки и неизползван код (вижте по-горе). Тези грешки вероятно ще останат непроменени с течение на времето, но могат да се влошат със сложността на софтуера мога промяната се увеличава. Това се нарича софтуерна ентропия.

Софтуерът, който променяте, засяга софтуера, който не можете да промените, защото самата система става по-сложна.

По-голямата част от софтуера на вашия телефон е в затворена система. Може да успеете да актуализирате приложението за клавиатура или камера от Магазин за игри, но по-голямата част от операционната система е инсталирана фабрично и се променя само с пълна системна актуализация. Това е много различно от всички приложения, както фабрично инсталирани потребителски приложения, така и такива, които сте инсталирали сами. Софтуерът ви мога промяната става по-сложна с времето и софтуерът, който не можете да промените, трябва да се справи с нея.

Хората, които са написали софтуера на вашия телефон, са адски умни, когато става въпрос за всичко това. Но никой не може да знае нещата, които ще правим, какво ще могат да правят новите приложения и как приложенията, проектирани за един набор от API (интерфейси за програмиране на приложения), за Например API на Samsung от техния комплект за разработка на софтуер ще работят с приложения, предназначени за друг набор от API, като тези от Google, които са част от Android. Разработчиците трябва да направят всичко възможно, за да отгатнат и да направят софтуера по начин, който няма да се счупи и да се надяват на най-доброто.

Има два начина за борба със софтуерната ентропия — редовна поддръжка на софтуера чрез навременни актуализации или нулиране на потребителския софтуер обратно до фабричното състояние.

Софтуерно подуване

Това не е това, което подсказва името, въпреки че допълнителните раздуващи се приложения могат и причиняват нещата да работят по-бавно. Software Bloat, когато говорим за Bit Rot, означава софтуер, който е пълен с допълнителни или неизползвани функции.

Колкото повече функции се добавят към всяка програма, толкова по-сложна ще бъде тя. Сложността прави приложенията по-бавни.

Невъзможно е да се дефинират „допълнителни“ функции. Приложения или части от приложения, които не използвам, са ми чужди, но вие може да ги използвате и харесате. От гледна точка на компютър, единственото добро приложение е това, което прави само едно нещо, след което се затваря, след като приключи. Това е непрактично от потребителска гледна точка; представете си приложение за клавиатура, което се затваря след въвеждане на всяка буква. Компаниите, които произвеждат телефоните, които обичаме, трябва да намерят щастлива среда между функции и производителност, като използват правилния хардуер или намалят функциите в приложенията. Това може да означава добавяне на повече RAM и използване на по-бърз процесор или изрязване на функции от приложение, или и двете.

Друга част от „допълнителните“ функции е софтуер, който трябва да може да обработва множество (и често конкуриращи се) стандарти. Вашите имейл приложения са чудесен пример за това. Ако използвате Gmail и използвате приложението Gmail, нещата са много по-рационализирани, отколкото биха били, ако използвате друго имейл приложение с акаунт в Gmail, или акаунт в Exchange, или нещо като Yahoo! POP3 акаунт. Приложението за имейл трябва да може да прави неща, които приложението Gmail не може, и трябва да може да обработва различните видове данни, които създаваме. Това отнема време за обработка и тъй като добавяме повече данни, отнема повече време.

Може би най-добрият пример за „допълнителни“ функции и как те влияят върху производителността би било сравняването на Evernote и Google Keep. Ако използвате приложението само за водене на бележки, всички екстри в Evernote означават, че отнема много повече време, за да ги добавите или прочетете. Ако харесвате тези допълнителни функции, бързо ще откриете, че Google Keep просто не може да направи повечето от тях. Тук няма правилно или грешно, но това оказва голямо влияние върху производителността.

Неизползваните „остатъчни“ функции все още могат да работят и да причинят проблеми, а нашите телефони са пълни с тях.

Неизползваните функции са по-разочароващи, защото не знаем, че ги има и не бихме могли да направим нищо, за да променим нещата, ако го направим. Когато компания като LG (ще ги изберем тук, но това се отнася за всяка компания, произвеждаща телефони, дори Google) направи телефон със собствен приложения, които са дубликати на „стокови“ приложения за Android, като телефонното набиране или календара, има много остатъчен код, който не се използвани. Част от кода все още се изпълнява, когато стартирате телефона си. Говорили сме как това означава, че грешките ще бъдат по-трудни за намиране в тази част от кода, но също така може да има голямо влияние върху производителността. И когато се вземе предвид софтуерната ентропия, виждаме как тези грешки могат да стават все по-лоши и по-лоши с времето.

Когато видите глупави аргументи в коментарите за това как телефон като Moto G5 е по-бърз от Galaxy S8 с половината от хардуерната мощност, Software Bloat е причината.

И така, какво означава всичко това и какво мога да направя по въпроса?

Това е лесен въпрос — това означава, че някои телефони са по-бавни от други и някои телефони стават забележимо по-бавни с времето, докато други са по-малко засегнати. И всъщност няма нищо, което можем да направим по въпроса.

Повече функции означават по-бавен софтуер и повече възможности за възникване на Bit Rot. Това е търговия, която мнозина правят с удоволствие.

Истински разговор – телефон като Note 8 е забележимо по-бавен (и го показва, когато е свързан към инструменти, които следят производителността) от Pixel 2. Note 8 ще стане още по-бавен след около шест месеца. Но Pixel 2 ще го направи никога да можем да правим някои от нещата, които Note 8 прави, без значение колко приложения инсталираме или как го хакваме. Мога да коментирам екранна снимка със S Pen веднага след като я заснема на Note 8, но на Pixel 2, трябва да споделя екранната снимка на друго устройство, за да я поясня със същото ниво на функции и детайл.

Като Evernote vs. Аргументът на Google Keep по-горе, кое е по-добро е до голяма степен въпрос на функции, които харесвате. Note 8 има всичко функциите. Това означава, че има всички бъгове и софтуерни проблеми, които правят Bit Rot по-забележим. Това може да е проблем за вас, но за други не е, защото няма друг начин да получите набора от функции. Ето защо има повече телефони с Android от Pixel и Pixel Plus и какво имат предвид всички, когато казват, че Android ви дава избор.

И когато Bit Rot някога стане достатъчно голям проблем, че трябва да направите нещо по въпроса, просто нулирайте фабричните настройки на телефона си и отделете няколко часа, за да настроите всичко обратно.

въпроси?

Изключете звука в коментарите по-долу!

instagram story viewer