Logo ru.androidermagazine.com
Logo ru.androidermagazine.com

«Гниль» объяснила: почему ваш телефон работает медленнее, чем когда он был новым

Оглавление:

Anonim

Компьютеры похожи на людей - с возрастом они становятся немного медленнее, а недостатки легче заметить.

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

Давайте посмотрим на то, что обычно называют «битой гнилью», и посмотрим, можем ли мы понять вещи немного лучше.

Что такое Bit Rot?

Это термин, который часто используют люди, работающие с компьютерами, и это в основном означает, что программное обеспечение «старое» и стало медленнее, чем раньше. В игре три вещи, и они хорошо документированы, даже если их не очень легко понять: эрозия программного обеспечения, энтропия программного обеспечения и раздувание программного обеспечения.

Во-первых, некоторые выбросы

Иногда могут быть и другие факторы. Деградация данных и функциональная крипта могут привести к замедлению работы программ и приложений, но их легче объяснить, и они немного отличаются от того, что мы называем Bit Rot. Ухудшение данных - это модное слово, означающее, что ваша память - либо ОЗУ, либо хранилище, либо и то и другое - стареет. ОЗУ и твердотельные носители требуют электрического заряда, и со временем он может рассеяться больше, чем предполагалось. Это означает, что некоторые из сохраненных битов (программных битов) могут быть изменены. Если несколько битов неверны, многие программы могут компенсировать это, но это требует времени, и программы работают немного медленнее. Когда много битов не так, вещи перестают работать, как задумано.

Ухудшение качества данных и ползучесть функций также могут замедлить работу телефона, но отличаются от Bit Rot.

Функция Creep проста для понимания. Ваш телефон был создан с учетом определенного набора программного обеспечения. Когда вы получаете обновление, которое добавляет больше функций, аппаратное обеспечение должно работать больше, а все становится медленнее. Онлайн-форумы заполнены людьми, которые ненавидят последние обновления на своих телефонах Galaxy, и людьми со старыми iPhone, которые ненавидят последнюю версию iOS. Это связано с тем, что программное обеспечение было написано с учетом более нового и более функционального оборудования, как и программное обеспечение, которым был поставлен ваш телефон. Мы все любим новые функции и обновления, но старая поговорка «будь осторожен с тем, что ты желаешь», здесь стоит денег.

Эти проблемы, безусловно, могут оказать влияние, но они отличаются от Bit Rot и, вероятно, не вносят большой вклад в замедление работы наших телефонов, потому что мы не держим их достаточно долго, чтобы увидеть их в действии.

Эрозия программного обеспечения

Эрозия программного обеспечения - это медленное, но неуклонное снижение производительности, которое может произойти с любым программным обеспечением, будь то то, что мы используем много или мало. Или даже никогда. Это происходит потому, что мы используем программное обеспечение, и все приложения меняются, когда они используются - мы добавляем пользовательские данные в базу, чтобы программное обеспечение делало то, что мы хотим. Обратите внимание, что это отличается от того, что программное обеспечение работает медленно или глючит, хотя мы часто его используем, но возвращается к нормальной работе с перезагрузкой. Обычно это происходит из-за небольших ошибок, накапливающихся со временем, или из-за утечки памяти. Вы не можете исправить Software Erosion, закрыв и повторно открыв приложение или перезагрузив телефон.

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

Существует два различных типа программной эрозии: неактивной и активной. Эрозия неактивного программного обеспечения происходит, когда программа или части программы, которую вы не используете, перестают работать хорошо, потому что изменились другие вещи, и активная эрозия происходит из-за изменений, в то время как вы используете ее. Оба типа происходят по нескольким причинам.

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

Все программное обеспечение имеет ошибки, независимо от того, что говорит разработчик или пользователь. Когда компания меняет какой-то код, очень велика вероятность того, что оригинальный код никогда не будет использоваться, но все же будет встроен в конечный продукт. Ошибки здесь не так часто могут быть обнаружены и могут иметь немедленный эффект, или тот, который обнаруживается через некоторое время.

  • Изменения, потому что программное обеспечение не является дружественным к пользователю, происходят много.

Разработчик создает программное обеспечение с конкретным представлением о том, как мы будем его использовать, но как только оно попадает в наши руки, мы часто не используем его таким образом! Иногда это не наша вина, и у программного обеспечения плохо реализован интерфейс, поэтому мы делаем вещи, о которых разработчик никогда не думал. В других случаях это наша ошибка, и мы делаем такие вещи, как создание нескольких учетных записей или запуск нескольких экземпляров приложения или функции, которая не была разработана для такой работы. Это может оставить данные пользователя или кэшированные данные, которые приложению будет труднее обрабатывать.

  • Отсутствие обновлений и обслуживания - это плохо.

Любой разработчик скажет вам, что работа не завершена после публикации программы, и программное обеспечение необходимо поддерживать. Это означает исправление ошибок, которые обнаруживают пользователи, а также частые обновления для правильной работы с другим программным обеспечением. Отсутствие регулярного обслуживания по всем направлениям является основной причиной эрозии программного обеспечения.

«Android», который работает на вашем телефоне, на самом деле представляет собой большую группу независимо работающих программ и служб, которым необходимо постоянно общаться друг с другом. Пример: Facebook делает еще одно изменение на своих серверах, затем обновляет приложение в Google Play. Приложение «Контакты» связано с Facebook, поэтому может потребоваться обновление. Или ваша камера получает обновление, а приложение галереи, которое с ней связано, - нет. Все части системы должны работать со всеми остальными частями, а это означает регулярное техническое обслуживание.

Хорошей новостью является то, что многие проблемы Software Erosion исправлены с помощью заводского сброса, при котором все пользовательские данные стираются. Плохая новость в том, что все это возвращается в конце концов.

Энтропия программного обеспечения

Все программное обеспечение, которое мы не можем изменить, содержит ошибки и неиспользуемый код (см. Выше). Эти ошибки, вероятно, останутся неизменными с течением времени, но могут ухудшиться по мере увеличения сложности программного обеспечения, которое мы можем изменить. Это называется программной энтропией.

Программное обеспечение, которое вы меняете, влияет на программное обеспечение, которое вы не можете изменить, потому что сама система становится более сложной.

Большая часть программного обеспечения на вашем телефоне находится в закрытой системе. Возможно, вы сможете обновить приложение клавиатуры или камеры из Play Store, но основная часть операционной системы устанавливается на заводе и изменяется только при полном обновлении системы. Это сильно отличается от всех приложений, как установленных пользователем приложений, так и установленных вами. Программное обеспечение, которое вы можете изменить, со временем усложняется, и программное обеспечение, которое вы не можете изменить, должно с этим справляться.

Люди, которые написали программное обеспечение на вашем телефоне, чертовски умны, когда дело доходит до всего этого. Но никто не может знать, что мы будем делать, что смогут делать новые приложения и как приложения, разработанные для одного набора API (интерфейсы прикладного программирования), например, API Samsung из их комплекта для разработки программного обеспечения, будут работать с приложениями. разработан для другого набора API, таких как Google, которые являются частью Android. Разработчики должны сделать все возможное, чтобы угадать и сделать программное обеспечение таким образом, чтобы не сломаться и надеяться на лучшее.

Существует два способа борьбы с программной энтропией: регулярное обслуживание программного обеспечения посредством своевременных обновлений или возврат программного обеспечения пользователя к заводскому состоянию.

Программное обеспечение Bloat

Это не то, что следует из названия, хотя дополнительные приложения-взломщики могут и делают вещи работать медленнее. Раздувание программного обеспечения, когда речь идет о Bit Rot, означает программное обеспечение, наполненное дополнительными или неиспользуемыми функциями.

Чем больше функций добавлено в любую программу, тем сложнее она будет. Сложность делает приложения медленнее.

«Дополнительные» функции невозможно определить. Приложения или части приложений, которые я не использую, являются для меня посторонними, но вы можете их использовать и любить. С точки зрения компьютера, единственным хорошим приложением является приложение, которое делает только одну вещь, а затем закрывается после завершения работы. Это нецелесообразно с точки зрения пользователя; представьте себе приложение для клавиатуры, которое закрывалось после ввода каждой буквы. Компании, которые делают телефоны, которые нам нравятся, должны найти удачный выбор между функциями и производительностью, используя правильное оборудование или сокращая функции в приложениях. Это может означать добавление дополнительной оперативной памяти и использование более быстрого процессора или функций обрезки из приложения, или и того, и другого.

Другая часть «дополнительных» функций - это программное обеспечение, которое должно поддерживать несколько (и часто конкурирующих) стандартов. Ваши почтовые приложения являются отличным примером этого. Если вы используете Gmail и используете приложение Gmail, все становится намного более упорядоченным, чем если бы вы использовали другое приложение электронной почты с учетной записью Gmail, учетной записью Exchange или чем-то вроде Yahoo! POP3 аккаунт. Приложение электронной почты должно уметь делать то, что приложение Gmail не может, и должно обрабатывать различные типы данных, которые мы создаем. Это требует времени для обработки и, как мы добавляем больше данных, это занимает больше времени.

Возможно, лучшим примером «дополнительных» функций и их влияния на производительность будет сравнение Evernote и Google Keep. Если вы используете приложение только для заметок, все дополнения в Evernote означают, что их добавление или чтение занимает намного больше времени. Если вам нравятся эти дополнительные функции, вы быстро обнаружите, что Google Keep просто не может выполнить большинство из них. Здесь нет правильного или неправильного, но это сильно влияет на производительность.

Неиспользуемые «оставшиеся» функции могут все еще работать и вызывать проблемы, и наши телефоны заполнены ими.

Неиспользуемые функции более расстраивают, потому что мы не знаем, что они есть, и мы ничего не могли сделать, чтобы изменить вещи, если бы мы это сделали. Когда такая компания, как LG (мы выберем их здесь, но это относится к каждой компании, производящей телефоны, даже к Google), делает телефон со своими собственными приложениями, которые являются дубликатами «стандартных» приложений для Android, таких как телефонный набор или календарь. есть много оставшегося кода, который не используется. Часть кода все еще работает, когда вы запускаете свой телефон, тоже. Мы говорили о том, что это означает, что ошибки будут труднее найти в этой части кода, но это также может оказать большое влияние на производительность. И когда учитывается Software Entropy, мы видим, как эти ошибки могут становиться все хуже и хуже с течением времени.

Когда вы видите глупые аргументы в комментариях о том, что такой телефон, как 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 против Google Keep, то, что лучше, во многом зависит от понравившихся вам функций. Note 8 имеет все функции. Это означает, что в нем есть все ошибки и программное обеспечение, которое делает Bit Rot более заметным. Это может быть проблемой для вас, но для других это не потому, что нет другого способа получить набор функций. Вот почему телефонов Android больше, чем просто Pixel и Pixel Plus, и что каждый имеет в виду, когда говорят, что Android дает вам выбор.

И когда Bit Rot когда-нибудь станет достаточно проблем, что вам нужно что-то с этим сделать, просто сбросьте настройки телефона до заводских настроек и потратьте несколько часов, чтобы все восстановить.

Вопросы?

Выключите звук в комментариях ниже!