Несмотря на то, что ответов уже много, на самом деле никто не отвечает на два основных вопроса, а на третий - только в случае проблемы с состоянием дампа. Читайте больше текста, если вы спешите.
Также я объясню, почему решения, упомянутые в других ответах, помогают только иногда. И предложите другое решение, если кошка не ваша проблема.
Почему я получаю сообщение об ошибке «Место для хранения», если места много?
Это не ошибка, это дизайн. Триггер для низкого места довольно высок, обычно 10% или 500 МБ, в зависимости от того, что ниже.
«некоторые системные функции могут не работать» - это не точно, некоторые НЕ БУДУТ работать.
Синхронизация, некоторые функции загрузки, установка приложений, видеовстречи и многие приложения Google.
Если вы спросите:
- Почему доступно менее 500 МБ?
тогда ответ таков: либо вы использовали его по незнанию, либо что есть проблема с чем-то, заполняющим ваше пространство для хранения.
Если вы израсходовали его и хотите проверить с чем, следуйте ответам: «Очистите свое пространство», если вы этого не сделали, это может быть множество других проблем, но, скорее всего, это logcat, который оставляет огромные файлы дампа. В этом случае следуйте ответам, указав logcat или log или dumpstate. Или перейти к моему последнему абзацу ниже.
Какие части памяти контролируются на наличие свободного места.
мы можем различить две модельные ситуации в соответствии со структурой FS в телефоне Android:
(Обратите внимание, что то, что я называю ВНУТРЕННЕГО ХРАНИЛИЩА, не является стандартизированным именем, обычно это странно называется sdcard, также может называться USB-накопителем, как, возможно, в вашем случае. )
- Раздел DATA является отдельным разделом от ВНУТРЕННЕГО ХРАНЕНИЯ
ВНУТРЕННЕЕ ХРАНЕНИЕ не контролируется, и вы можете заполнить его до нуля свободных байтов, и ничего не происходит. Хранение данных контролируется, в galaxy S2 оно составляет 10%, из 1500 МБ должно быть всегда доступно 150 МБ.
- один раздел как для данных, так и для внутреннего хранения
ВНУТРЕННЕЕ ХРАНЕНИЕ эмулируется как отдельный раздел с разными правами доступа. Он также имеет «предохранитель» или резерв, который не позволит использовать все пространство реального раздела. Файлы во ВНУТРЕННЕМ ХРАНЕНИИ на самом деле находятся в / data / media /
old models, возможно до Android v2.3, также есть раздел DBDATA, который контролировался отдельно - если я правильно помню это
Переход с одной системы на другую мог быть сделан обновлением FW. Я до сих пор помню, когда такое обновление удалило тысячи моих праздничных фотографий на Galaxy Note2. Раздел ВНУТРЕННЕГО ХРАНЕНИЯ был удален и смонтирован на разделе DATA с помощью FUSE, при проверке свободного места на каждом я обнаружил разницу в 100 МБ.
Поэтому, в зависимости от имеющейся у вас структуры данных, вам нужно оставить, например, 400 МБ свободного места на ВНУТРЕННЕМ ХРАНИЛИЩЕ, которое может с помощью приложения df или анализатора свободного пространства показывать как 500 МБ свободного места на разделе DATA.
Обратите внимание, что
- минимальный размер отличается для каждой модели, а иногда и для версии FW.
- Вам нужно подождать около минуты, чтобы увидеть, очистится ли уведомление после того, как вы освободите место.
Второй вопрос:
Можно ли подключить устройство и USB-накопитель? Это поможет или по крайней мере задержит время, пока проблема вернется?
Быстрый ответ, НЕТ. И поможет ли это? Да, это помогло бы избежать проблемы нехватки места за счет увеличения общего объема памяти.
Для уточнения:
ЕСЛИ «USB-память» - это подключаемая SD-карта или подключаемое устройство в вашем случае, или если оно расположено на отдельном чипе памяти, как на вкладке 1 и телефонах того же возраста, то присоединиться к нему невозможно Раздел данных.
Если в вашем случае «USB-память» является ВНУТРЕННИМ ХРАНЕНИЕМ, вы можете присоединиться к ним, но это не простой и не безопасный процесс. Другими словами, если кто-то, кто успешно справился с этой задачей, не может найти руководство на той же модели телефона, что и ваша, мы можем также образно сказать: НЕТ, это невозможно.
Ища руководство в Интернете, помните, что было бы неразумно называть ВНУТРЕННЕЕ ХРАНИЛИЩЕ как «USB-накопитель», потому что есть и реальное USB-хранилище. Вы найдете множество решений для включения USB для накопителей, так называемая функция USB OTG, не отвлекайтесь.
в основном вам необходимо:
переразметить ваш чип памяти, по какой-то причине называемый eMMC, удалить USERDATA - что такое имя раздела для INTERNAL STORAGE и объединить освободившееся пространство с разделом DATA.
затем найдите / скомпилируйте модуль плавкого предохранителя, который позаботится об эмуляции раздела с полными разрешениями для media_rw или другого пользователя,
отредактируйте сценарий инициализации, чтобы создать точку монтирования для нового ВНУТРЕННЕГО ХРАНИЛИЩА,
много других изменений и настроек, о которых я не могу думать ,
третий вопрос:
Любой другой совет, как я могу справиться с этой проблемой?
Наилучшим вариантом, если у вас есть root-доступ, является
понизить порог минимального свободного места.
Вы можете уменьшить его до 1%, возможно, даже меньше. Это означает 20 - 120 МБ минимального свободного места.
Он включает редактирование sqlite3, но, хотя это может показаться сложным, это очень простой процесс. Просто следуйте любому хорошему руководству, и все будет хорошо. Это руководство выглядит великолепно, или есть также приложения-редакторы sqlite3 , или найдите другое руководство, используя ЭТУ ссылку на gugl .
Следует отметить две вещи:
- в разных руководствах упоминаются разные имена таблиц. «Безопасный», «системный», «глобальный» или даже «gservices». Правда, это было применимо в разных таблицах через разные версии Android. Теперь он должен быть в «глобальном», прежде чем он был в «безопасном» и до этой «системы». Мой совет, просто поместите это во всех них, вы ничего не повредите. Это означает, что следуйте инструкциям, которые вы найдете, и повторите шаги, заменяя имя таблицы каждым из названий, которые я упомянул выше.
- вы можете найти файл settings.db заблокированным и недоступным для записи даже с правами root, это случилось со мной, когда вышел ICS. Но с тех пор не случилось. В любом случае, в этом случае загрузитесь в recovery, извлеките файл, отредактируйте на ПК и верните обратно.
Если 1% (около 100 МБ, если у вас чип 16 ГБ) по-прежнему слишком много для вас, чтобы потратить впустую, как это было для меня, добавьте также значение sys_storage_threshold_max_bytes, у меня 20000000 = около 20 МБ, и у меня никогда не было особых проблем, хотя у многих приложений не проверяйте доступное пространство и выдает ошибку без указания причины, поэтому следует помнить, что это всегда может быть проблема свободного места. Между этими двумя переменными есть оператор -OR. Не указывайте там меньше 20, потому что если не удастся записать определенный системный файл, который находится в папке / data, ваш телефон может не загрузиться. Я нахожу 20 МБ вполне безопасным, так как нет файлов больше, чем в / data, за исключением / data / data, / data / app / и dalvik. и если файл будет поврежден в / data / data, ничего страшного. Сброс данных этого приложения решит это.
Если что-то пожирает свободное место
Если вы подозреваете, что места не должно быть занято так много, или вы просто хотите очистить пространство, как в нескольких других ответах здесь, я также рекомендую DiskUsage помочь визуально определить, что занимает, сколько места ,
В приложении DiskUsage во втором столбце «media» обозначает ВНУТРЕННЕЕ ХРАНИЛИЩЕ, а приложения представляют / data / app и / data / data - пространство, занимаемое приложениями.
«Системные данные» зеленого цвета внизу - это остальная часть папки / data, и они не должны быть слишком высокими. 300 МБ это хорошо, более 1 ГБ, вероятно, проблема.
Если эти Системные данные слишком высоки, возможно, ваш logcat сошел с ума и создал тонны стихотворных посмертных сообщений. В этом случае и только в этом случае все остальные ответы здесь будут применимы. Это означает, что удаление этих гигов потраченного впустую пространства в папке / data / log или набор номера * # 9900 #, который, кстати, не является допустимой командой для каждого устройства, вернет Android к хорошему настроению. Как долго стоит вопрос о том, был ли виновник, вызвавший чрезмерное ведение журнала, исправлен или удален.