Audio&Gadget
October 20

Android. Вспомнить всё. Почему  система потребляет так много памяти

Вступление 2024. Разбирая старые черновики, главное не зареветь. Так и здесь – привет из 2018, моя минутка славы на Mobile-review.com. Я весь такой вчерашний студент&вечный нищеброд, пишу про свой флагман из 2013 Note 3 модель N9500 на пrавославном Снапе 800 на прошивке 2014 года, купленный под закат выпуска [чтобы подешевле, как всегда]

[12 сентября 2018] написание шло в течении лета, идею обсуждали с февраля, первый набросок был готов в апреле, согласование и финальные правки попали на сезон отпусков. Из-за этого в статье есть дополнения.

Бугурт в комментариях – это бесценно. Был завсегдатаем срачей на 3DNews и Mobile-Review, доминируя и унижая своими познаниями случайно мимопроходящих))

1]«Упёртый, злой, и высокомерный»

2] «О, вот и вылез настоящий граф доллар) с тыканием и хамством всем подряд…»

3] «Товарищ удивил лютой ненавистью к Самсунг и убежденностью в своих суждениях, демонстрацией собственного превосходства над всеми прочими.»

4] «Ну что ж. Автор, конечно, писатель паршивый, но и уважаемые комментаторы хороши. Зачем свои зубы чистить, чо как нищеброд, пусть гниют — поставишь керамику!»

5] «Возьмите его в штат! Хорошо пишет! Пусть про кишки операционных систем пишет.»

Опыт можно признать удачным. С одной стороны, статья получилась весьма сумбурная, с другой стороны, я и правда знаю поболе многих комментаторов и на фоне других материалов она вполне себе. В конце-концов, её же пропустил в релиз главред сайта.

Сейчас, конечно, статья неактуальна чуть более, чем полностью) Ведроид с тех пор сильно лучше не стал, только изменились средства штатные он так же гадит в памяти и лагает интрефейсом, ибо приоритет отрисовки какк обычно в заднице, в отличие от IOS. Но стали сильно лучше телефоны и объёмы памяти с быстродействием процессоров. Поэтому какие-то косяки уже просто незаметны

Самое забавное, что я тогда учел критику и была даже мысль потом переписать статью и выложить ее куда-то у себя или возможно даже перебековать заново. Но прошло время, черновики покрывались мхом, сайт Mobile Review стал абсолютно неактуальным и я решил не менять ничего в той статье, так как она теперь осталась памятником. Так как в интернете доступно все, но не всегда и не в любой момент времени, я решил сделать ее резервную копию здесь. Потому что рано или поздно Mobile Review сдохнет окончательно – времена его актуальности давно прошли, YouTube канал тоже никто не смотрит. Все, прошли те тёплые ламповые времена 2013-15-х годов, когда хипстеры со смузи, мобайл-ревью был актуален и Самый Главный Ведущий Аналитик писал свои Бирюльки, а товарищ
[ТП] Кузьмин задалбывал всех своими «не скрипит/не люфтит», рассекая на инфинити с Айфонами... Сей памятник останется без изменений

https://android.mobile-review.com/articles/56726/

Анонс в группе ВК: «Android и память это как лиса и колобок – он за ней охотится и съедает быстро&решительно. Даже если её ещё много, ни одному байту не уйти – беда, внезапная, как зима у коммунальщиков, уже на подходе. Пробуем разобраться, кто виноват, что делать и как с этим жить»

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

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

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

Не так давно с моим Samsung Galaxy Note 3 {32GB N9005 LTE заводской 4.4.2+root-права} случилось то, что рано или поздно случается с каждым: появилось сообщение «мало памяти!» Мой набор приложений невелик и почти не меняется, системная ерунда от производителя давно удалена, всё остальное место занято музыкой. Всегда было свободно в диапазоне 600мб-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с); зато ещё больше раздуло их размер, время установки и загрузки при включении телефона. В общем, одно лечим другое калечим. Отдельные приложения, которые свинячат и/или съедают памяти больше других. Так как у меня их немного, здесь лишь несколько примеров:

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

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

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

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

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

Отдельной проблемой идёт SD-card. Если она установлена, то для быстродействия самое страшное, что может случиться. И вот почему: эта память неравнозначна внутренней. Если ставить приложения на карту памяти, то всё равно там размещается только часть программы, а всё остальное остаётся в системной. Гениальные решения 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.

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

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

SDmaid.

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

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

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

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

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