Android: недостаточно места в памяти устройства. Часть 1

Регулярно натыкаюсь на людей, которые либо пытаются чистить карточку памяти, в безуспешной попытке установить необходимое приложение, либо уже смирившиеся и довольные хотя бы тем, что пока ещё работает. Итак, куда делось свободное место и что же делать?
В интернете куча статей, даже на 4pda, но по большей части они не дают единый чёткий алгоритм действий с моментальным обнаружением проблемы. Зачастую всё сводиться либо решением проблемы в лоб удалением «не нужного», либо шерстить все папки без разбора и собирать по мегабайту, по копеечке, себе на жизнь. И всё это далеко не первой свежести и мало сейчас актуально.

Первый шаг, что нам понадобиться сделать, это установить Link2SD, с некоторых пор получившее русский язык и бесплатную версию, за что автору спасибо. И конечно нужны root права. О том как их получить можно прочитать на соответсвующей теме вашего аппарата на 4pda.
Там же есть всё необходимое, но продублирую ссылку на английский вики, если лень читать, как разбивать карточку памяти. Но лучше прочитать форум, чтобы знать нюансы и фичи приложения. Вот так-же видеоурок как это сделать, но выбрав, по совету автора, «безопасный» fat32 мы будем иметь только базовый функционал из-за некоторых ограничений, видимо, самой файловой системы.
Но это нам может не понадобиться! Пока что задача иметь 5 мегабайт системной памяти(о типах памяти позже), чтобы установить программу. Если не устанавливается, то удаляем, временно, какую-то программу.

  b2ap3_thumbnail_snap20150513_191436.pngb2ap3_thumbnail_snap20150513_191509.pngТеперь у нас есть Root, есть Link2SD и мы можем посмотреть что у нас под капотом и ловко этим управляться!
В левом меню есть пункты по очистке кеша
Это как раз то что многим требуется — в одно нажатие ищет и предлагает удалить.
Особенно это актуально для старых и наспех выпущенных смартфонов, т.к. после удаления приложений часто бывает что оставался тяжёлый делвик-кеш.

 

 

 

b2ap3_thumbnail_snap20150513_191442.png

b2ap3_thumbnail_snap20150513_191447.png

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

/data — из-за него и появляется сообщение о нехватке памяти. Сюда при установке копируются apk приложений(/app), создаётся делвик(/dalvik-cache), библиотеки, словом всё что много весит.

/sdcard — просто память, которая доступна пользователю. Если в телефоне есть внутренняя и внешняя память(карточка), то формально для телефона существуют 2 SD. Вариация точки монтирования может быть какая угодно.

/data/sdext2 — второй раздел на карте, примонтированный в раздел data. Эта хитрость и даёт нам возможность создавать символьные ссылки на приложения, когда фактически они в другом месте. Тем самым мы обманывая телефон, освобождаем для себя память.

/system — тут у нас хранятся системные приложения и прочие потроха самого Андроида, но запихнуть сюда в /system/app можно что угодно. У меня тут лежат Карты и Маркет Гугл, SetCPU. Словом то без чего никуда не денешься.

/cache это банально то куда временно скачиваются приложения с Макета. Целых 50 мегабайт непонятно куда… Кстати именно им установлено ограничение устанавливаемого apk.

Но Link2SD не учёл ещё один раздел, это /custpack. У меня он составляет 125 мегабайт и служит для всего того наполнения сверху, нагромождения  предустановленного софта и фирменной кастомизации от производителя(Alcatel). Да, здесь собран весь хлам который можно удалить, но лучше не глядя это не делать. Удаляем то что нам не нужно через Link2SD, а что считаем полезным можно сюда поместить, в освободившееся место. 

Особый и важный факт это то что при обновлении старая кастомизация никуда не исчезает и обновив все приложения мы придём к тому что в /data и /custpack будет лежать новая и старая версия одного приложения.

Для того чтобы так не было мы:
1. Перемещаем из /data/app в /custpack/app  требуемый обновлённый *.apk

2. Удаляем старый файл приложения в /custpack/app

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

Это были основные средства профилактики и первой помощи при нехватки памяти на Android. Одинаково работает как на 2.x.x, так и на 4.х.