Logo bg.androidermagazine.com
Logo bg.androidermagazine.com

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

Съдържание:

Anonim

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

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

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

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

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

Първо, някои отшелници

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ентропия на софтуера

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

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

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

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

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

Софтуер Bloat

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Въпроси?

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