12 сентября 2018

Android. Вспомнить всё

Введение от Евгения Вильдяева

Я стараюсь общаться с нашими читателями не только на основном сайте, но и в социальных сетях. В частности, в нашей группе ВКонтакте. Один из самых активных комментаторов с ником Graf Dollar иногда переходил границы, и я был вынужден его банить. Но мы пообщались в личных сообщениях и расставили все точки над «i». После этого еще несколько раз периодически переписывались, и однажды он посоветовал нам тему для статьи, а я предложил ему написать её самостоятельно. На мой взгляд, материал получился хоть и нишевым, но интересным. А теперь слово нашему читателю.

«Моя война. Сизифов труд. Драма с элементами survival-хоррора. Это вечная битва, которая не может быть выиграна. Здесь возможна только ничья или временное перемирие»

Android. Главная его особенность в том, что он ест в памяти всё, что плохо лежит. А что хорошо лежит, он перекладывает и съедает. А потом ещё и свинячит там же. Страшнее только сторонний софт, который это делает просто с космической скоростью, оставляя кучи мусорных файлов даже после удаления программы. Эталон индусского кода из палаты мер и весов. По системным требованиям он обставил даже Vista, при этом по функциональности он ни разу не Windows. Да и вообще, на его фоне десктопная операционка от Microsoft (особенно W7 или XP) – просто эталон логичности, удобства и нетребовательности к ресурсам. В последних версиях стало немного лучше, но всё равно бесконечно далеко до нормальности (достаточно вспомнить возможности и системные требования Symbian или той же WP, которая хоть как-то умеет выкидывать из памяти паразитные процессы).

Gалактика в опасности

Не так давно с моим Samsung Galaxy Note 3 {32GB N9005 LTE, заводской 4.4.2+root-права} случилось то, что рано или поздно случается с каждым: появилось сообщение «Мало памяти!». Мой набор приложений невелик и почти не меняется, системная ерунда от производителя давно удалена, всё остальное место занято музыкой. Всегда было свободно в диапазоне 0.6-1.2 ГБ, а тут внезапно стало менее 400 МБ и стандартная зачистка через CCleaner уже не помогала. Удаление пары лишних приложений решило вопрос ненадолго, и память закончилась снова. Расследование показало, что надо всю жизнь ходить с Nokia, кроме стандартного мусора в виде кэша приложений, дубликатов от WhatsApp (очередной образец «кодерства погромистов»), ещё есть скрытые процессы, которые понемногу отъедают память.

«Большому жору – большой террор»

Виновные были найдены быстро:

  1. THUMBDATA (THUMBDATA3 или THUMBDATA5) – архивы миниатюр для каждого изображения, чтобы они быстрее загружались в галерее. Медвежья услуга, о которой не просили. Добавляет быстродействия на величины, уловимые, наверное, в лаборатории (мне разницы заметить так и не удалось), зато вполне заметно сжирает n раз по 200-300 МБ или 1 раз на n гигабайт. СCleaner этот мусор видит, но удаляет только версия PRO, хотя архивчики тут же воскресают вновь, стоит только открыть галерею. «Осиновый кол» – создание в папке DCIM\Thumbnails файла с расширением .nomedia или текстового файла в папке DCIM с названием thumbnails без расширения с атрибутом «только чтение». Сделать это можно через продвинутый файловый менеджер или через ПК. Сторонний софт типа WhatsApp или Viber также может создавать свои Thumbnails. Решается аналогично.
  2. Dalvik Cache – папка виртуальной Java-машины, в которой хранится всякий мусор для крутящихся в фоне приложений. Сделано это якобы для ускорения запуска приложений (наверно, снова на каких-нибудь 0.01 секунд), но мы-то с вами знаем, что на самом деле она служит для отъедания 300-500 МБ свободного места. От неё не избавиться совсем никак, но можно уменьшить в размере, удалив с перезагрузкой. Система вздрогнет, снова её пересоздаст, но уже похудевшую. У меня было 450 МБ, стало около 300. Начиная с 5.0 Dalvik заменили на ART (Android Runtime), что немного снизило расход батареи и оперативки, ускорило приложения (ещё на целых 0.01 секунд); зато ещё больше раздуло их размер, время установки и загрузки при включении телефона. В общем, одно лечим, другое калечим.
  3. Отдельные приложения, которые мусорят и/или съедают памяти больше других. Так как у меня их немного, здесь лишь несколько примеров:

Play Маркет – это спрут, который в сочетании с другими сервисами распускает щупальца по всему телефону. Можно отрубать их, отключая/запрещая ненужные функции, но я предпочёл вырезать голову – от Google я удалил всё, кроме Maps. Большую часть приложений всё равно качаю на 4pda. Это версии с вырезанной метрикой, рекламой, лишними языковыми пакетами, иногда с дополнительными темами оформления, либо вовсе альтернативные клиенты типа VKmp3mod, которые ещё и более удобны в использовании, нежели официальные. Отсутствие автоматических обновлений – не проблема, частенько случается ситуация «один баг поправили, 5 новых сделали», а мне ближе подход «работает – не трожь». Потому обновляюсь редко и по необходимости. По той же причине не стал переезжать с 4.4.2 на 5.1 (последнее прилетавшее обновление) – там бы ещё пришлось воевать с плоским Material Design. Только скевоморфи́зм, только хардкор.

S Note – актуально только для Samsung и тех, кто постоянно делает заметки. При пересохранении каждый раз создаёт новый временный файл, таким образом у меня за полгода папка распухла до 1 ГБ. Лечение – удалить всё, кроме самых последних файлов.

Сбербанк Онлайн. Это восхитительно-удивительное приложение от банка, который всегда славился своим дубовым сервисом, вечно неработающими банкоматами и очередями. Всё это завезли и в приложение в полном объёме – тяжёлое, неповоротливое, вечно лагающее и ругающееся на root-права (а точнее, вовсе не запускающееся без установки модификации), со встроенной имитацией бурной деятельности в виде антивируса. Каждый его запуск вносит вклад в распухание папки Dalvik Cache (иногда 8 МБ и более). Наверняка из всего множества приложений для Android не оно одно так делает. Кто постоянно им пользуется, один совет – не пользуйтесь. Почему-то приложение Тинькофф Банка умеет всё то же самое, но весит кратно меньше, не лагает от слова совсем и рут ему в работе не мешает. Это была совсем не реклама, сказал я и пересчитал пухлую пачку купюр.

UPD: После недавнего обновления приложения, проблему с рутом решили.

CyberlinkPhotoDirector. С одной стороны, приложение у меня в фаворе (со стилусом его инструменты и возможности просто божественны), а с другой – при выставлении максимального качества фото в настройках вылеты, лаги и зависания становятся постоянными спутниками работы, как и сообщение «недостаточно памяти». И это всё при 3 ГБ оперативки и Snapdragon 800! Ну как так-то…

Instagram – настолько вредное, что даже после отключения автозапуска постоянно прописывается там вновь. Ему много не надо, но всё же неприятная мелочь.

Отдельной проблемой идёт SD-карта. Если она установлена, то для быстродействия это самое страшное, что может случиться. И вот почему: эта память неравнозначна внутренней. Если ставить приложения на карту памяти, то всё равно там размещается только часть программы, а всё остальное остаётся в системной. Гениальные решения Google привели к тому, что установка программы на SD карту ВНЕЗАПНО так же увеличивает потребление ОЗУ. Чем больше программ, тем больше жор и тем сильнее всё тормозит при работе и перезагрузке. В 6.0 добавили функцию, позволяющую отформатировать карту памяти так, чтобы она не являлась отдельным хранилищем, но проблемы это не решает – использовать её только через MTP не сулит ничего хорошего, кроме глюков и тормозной скорости передачи файлов; напрямую через кабель или картридер работать уже не выйдет, а костыли в виде ADB или танцев с бубном на Linux-ПК мало кого обрадуют. Лучше купить версию смартфона с бОльшим объёмом памяти и не иметь проблем никогда либо укладываться в то, что есть.

Спасти рядовую Оперативку

«уж виноваты вы, что хочется мне кушать…».

Android не умеет нормально закрывать программы, ибо Google считает, что это не нужно – их замечательная ОС лучше знает, когда программу нужно завершить, потому просто не делает этого. При этом их кодеры так и не удосужились написать нормальный планировщик, поэтому каждый производитель городит костыли кто во что горазд. Усугубляет ситуацию и запуск программ по событиям: появилось соединение – значит, надо срочно прочитать сообщения/узнать погоду/обновиться; время пришло, поэтому проснусь… Вдобавок, производитель добавляет своих не удаляемых без root-прав программ, которые могут вести себя совершенно произвольно в плане потребления всех ресурсов смартфона. Несмотря на 3 ГБ оперативки моего телефона (или безумные 6 ГБ в современных флагманах), это совсем не повод, чтобы она была захламлена непонятно чем. Первое время после покупки я просто выключал мобильные данные, чтобы лишний раз не ворошился этот гадюшник. Но всё равно из коробки потребление было в районе 1.7-2.2 ГБ, даже если пытаться как-то блокировать приложения штатными средствами. После рутования и тотальных зачисток, репрессий, запретов и настроек показатель стал 0.8-1.3 ГБ. Телефон после этого на заводской прошивке 4.4.2 крутится почти 3 года без заметного проседания производительности. И это при навешанных украшательствах в виде 360launcher со значками ICO/PNG от Windows и пачкой дополнительных шрифтов с менеджером. Ну и появилась доселе невиданная предсказуемая автономность – даже на 1% батареи стало реально протянуть несколько часов, оставаясь на связи.

Они сражались за память

СCleaner

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

даже в версии PRO имеет доступ и видит далеко не все папки, хотя в анализе памяти эти файлы учитывает; путь в некоторые места для зачистки надо указывать вручную.

SDmaid

+ проведёт в самые отдалённые закоулки системы и поможет найти&уничтожить файловых диверсантов даже в самых тёмных углах (ибо по умолчанию знает и сразу сканирует все эти места); проанализирует и покажет все подозрительно распухшие папки, отсортировав по весу и категории.

не заменит СCleaner, ибо чистит в других местах. Многое нужно делать вручную, и это чертовски опасно. Права пользователя на Android имеют 2 крайности: либо ты никто, звать тебя никак и телефону ты не хозяин, либо ты чОрный властелин всего и вся с ненулевой вероятностью покалечить систему, а то и вовсе превратить смарт в кирпич, случайно удалив вместе с мусором важные файлы. Подсмотреть реализацию и разграничение прав в Symbian, где юзер имеет достаточно свободы по умолчанию, или десктопной Windows, где даже админ просто так не сможет вынести критически важные файлы, конечно же, никто не догадался. Изобрели свой велосипед с квадратными колёсами.

AppOpps. Через него можно запретить всем и всё – автозагружаться, запрашивать местоположение, лезть во все контакты и журналы, отправлять уведомления в Google космос и прочие мелкие шалости, которые выливаются в большой жор. Ну, ведь правда, зачем фонарику SMS, автозапуск или геоданные?

Root Explorer/ES Explorer – удобные файловые менеджеры, которые позволят делать с файлами всё и даже больше. Насколько больше, зависит от ущербности предустановленного менеджера. На Samsung родной в целом неплох, но в войне за память он не боец.

Root uninstaller PRO – помогает отличить зло от конфетки, НО лучше дополнительно прогугливать – существуют целые расстрельные списки лишнего софта по моделям телефонов.

На последних версиях Android принципы зачистки, по сути, не изменились. Root-права обязательны. Остерегайтесь версий прошивок, где их получить невозможно (заблокированный загрузчик), а с этим и доступ в некоторые системные папки. Я продолжаю есть этот кактус под названием Android, ибо на рынке сейчас выбор только из кактусов, но с разными колючками – в IOS тоже есть недостатки, они просто другие и лично для меня неприемлемы ещё больше. Таким образом, мой новый смартфон будет снова на Android, и эта вечная битва за ресурсы и своеволие телефона (а теперь ещё и за внешний вид) начнётся сначала.

Graf Dollar

Читайте также

  • Mizantrop

    Нет у меня подобного девайса на руках. А то бы поковырялся…
    На 4пда есть рут.

  • LOLOLO

    Мы об одном и том же — когда у меня было 16 гигов, то приходилось экономить, даже карту купил на 64 Гига, т.к. S3neo записывает видео с очень большим битрейтом. А вот уже на 64 гигах, у меня свободно 42 🙂 и многим 32 гига за глаза.

  • LOLOLO

    Насчет быстрее я имел ввиду работу внутри приложения, о времени запуска не задумывался. Мне кажется, что в Сбере меньше анимации и субъективно он как минимум не медленнее. Сейчас замерил старт Сбера и Тинькова, Тиньков выиграл: 2-3 сек против 7-8 после отпечатка. Все программы в последней версии (Хонор 9, LTE).

  • Джо Блэк

    Я Вам, уважаемый, дельный совет, от чистого сердца, дал 😉
    Статья понравилась.
    Еще понравилось, как выразился Евгений в своем видосе, про агресию в доте, очень поучительно.