Незважаючи на те, що відповідей уже багато, насправді жоден не відповідає на два основні питання, а третій - лише на випадок проблеми з демплектом. Читайте просто більший текст, якщо ви поспішаєте.
Також я поясню, чому рішення, згадані в інших відповідях, допомагають лише іноді. І запропонуйте інше рішення у випадку, якщо кішка - це не ваша проблема.
Чому я отримую помилку місця для зберігання, якщо є багато доступного місця?
Це не помилка, це дизайн. Спусковий механізм для малого простору досить високий, зазвичай 10% АБО 500 МБ, залежно від того, що нижче.
"деякі системні функції можуть не працювати" - це не точно, деякі НЕ будуть працювати.
Синхронізуйте деякі функції завантаження, встановіть додатки, відеокімнати та багато додатків Google.
Якщо ви запитаєте:
- Чому доступно менше 500 МБ?
то відповідь полягає в тому, що ви або невідомо використовували його, або що є проблема з тим, щоб заповнити ваше місце для зберігання.
Якщо ви використали його і хочете перевірити, чим слід, дотримуйтесь відповідей, що говорять про очищення місця, якщо цього не зробили, це можуть бути різні проблеми, але, швидше за все, це logcat, який залишає позаду величезні файли дампстату. У цьому випадку дотримуйтесь відповідей, де згадується logcat або log або dumpstate. Або перейти до мого останнього пункту нижче.
Які частини пам'яті відстежуються на вільний простір.
ми можемо виділити дві модельні ситуації відповідно до структури FS в телефоні Android:
(Зверніть увагу, що те, що я називаю ВНУТРІШНЕ ЗБЕРЕЖЕННЯ, не є стандартизованим іменем, зазвичай це дивно називається sdcard, також може називатися USB-накопичувачем, як це можливо у вашому випадку. )
- Розділ DATA - це окремий розділ від ВНУТРІШНЬОГО ЗБЕРІГАННЯ
ВНУТРІШНЕ Зберігання не контролюється, і ви можете заповнити його до нуля вільних байтів, і нічого не відбувається. Збереження даних DATA контролюється, для галактики S2 це 10%, від 1500 МБ, 150 МБ повинні бути завжди доступними.
- один розділ для даних і внутрішнього зберігання
ВНУТРІШНЕ Зберігання імітується як окремий розділ з різними правами дозволу. Він також має "запобіжник" або резерв, який не дозволить використовувати весь простір реальної перегородки. Файли на ВНУТРІШНІЙ ЗБЕРІГАННІ фактично знаходяться в / data / media /
старих моделях, можливо, до Android v2.3, також є розділ DBDATA, який окремо відстежувався - якщо я правильно пам'ятаю
Перехід від однієї системи до іншої, можливо, було здійснено оновленням FW. Я все ще пам'ятаю, коли таке оновлення видалило тисячі моїх святкових фотографій на Galaxy Note2. Розділ ВНУТРІШНЕ ЗБЕРІГАННЯ було вилучено та встановлено на розділі DATA за допомогою програми FUSE; різниця в 100 МБ була перевірена на кожному з них.
Отже, залежно від структури даних, яку ви маєте, вам потрібно зберегти, наприклад, 400 МБ вільного місця у ВНУТРІШНІЙ ЗБЕРІГАННІ, яка може, використовуючи df або додаток аналізатора вільного простору, відображати як роздільний розмір 500 МБ на розділі DATA.
Зауважте, що
- мінімальний розмір відрізняється для кожної моделі, а іноді і для версії FW.
- Вам потрібно зачекати близько хвилини, щоб побачити, чи сповіститься повідомлення після того, як ви зробите ще трохи місця.
друге питання:
Чи можу я приєднатися до пам'яті пристрою та USB? Чи допоможе це чи принаймні відстрочить час, поки проблема повернеться?
Швидка відповідь, НІ. А якщо б це допомогло? Так, це допоможе уникнути проблеми з низьким простором, маючи більший загальний обсяг пам’яті.
Щоб уточнити:
якщо "USB-пам'ять" - це підключена карта SD або підключений пристрій у вашому випадку, або якщо вона розташована на окремому мікросхемі пам'яті, як це є на Tab 1 та телефонах подібного віку, тоді приєднатись до неї неможливо Розділ DATA.
ЯКЩО "USB-пам'ять" - ВНУТРІШНЕ ЗБЕРІГАННЯ у вашому випадку, ви можете приєднатися до них, але це не простий чи безпечний процес. Іншими словами, якщо немає керівництва того, хто успішно зробив це на тій самій моделі телефону, як і у вас, ми можемо також образно сказати: НІ, це неможливо.
Шукаючи посібник в Інтернеті, пам’ятайте, що не було розумною ідеєю називати ВНУТРІШНЕ ЗБЕРЕЖЕННЯ «USB-накопичувачем», тому що є і справжнє USB-накопичувач. Ви знайдете безліч рішень щодо ввімкнення USB для накопичувачів, так звану функцію USB OTG, не розходьте.
в основному вам потрібно:
перерозділити чіп пам'яті, який чомусь називається eMMC, видалити USERDATA - що є назвою розділу для ВНУТРІШНЬОГО СХОДУ та об’єднати звільнений простір з розділом DATA.
потім знайдіть / компілюйте модуль запобіжників, який би подбав про емуляцію розділу з повними дозволами для media_rw або якогось іншого користувача,
відредагуйте скрипт для init, щоб створити точку монтування для нового ВНУТРІШНЬОГО ЗБЕРІГАННЯ, ще
багатьох змін та налаштувань, про які я не можу придумати .
третє питання:
Будь-які інші поради, як я можу впоратися з цією проблемою?
Найкращий варіант, якщо у вас є кореневий доступ, - це
знизити поріг мінімального вільного місця.
Ви можете знизити його до 1%, можливо, навіть менше. Це означає 20 - 120 МБ мінімального вільного місця.
Він включає редагування sqlite3, але хоча це може виглядати складно, це дуже простий процес. Просто дотримуйтесь будь-якого хорошого керівництва, і ви зробите це добре. ЦЕ посібник виглядає чудово або є також програми редактора sqlite3 або знайдіть інший посібник, використовуючи ЦЕ посилання gugl .
Слід зазначити дві речі:
- різні довідники згадують різні назви таблиць. "Безпечний", "системний", "глобальний" або навіть "сервіс". Правда це було застосовано в різних таблицях через різні версії Android. Тепер він повинен бути в "глобальному", перш ніж він був у "захищеному", а раніше - у "системі". Моя порада, просто вкладайте їх у всі, вам нічого не зашкодить. Це означає, що дотримуйтесь інструкції, яку ви знайдете, і повторіть кроки, замінюючи ім’я таблиці кожним із тих імен, про які я згадував вище.
- Ви можете знайти файл settings.db заблокований і не піддається запису навіть із root, це сталося зі мною, коли вийшов ICS. Але з того часу не сталося. У будь-якому випадку, завантажтеся на відновлення, витягніть файл, відредагуйте на ПК та натисніть назад.
Якщо 1% (близько 100 МБ, якщо у вас є чіп 16 Гб), все-таки занадто багато, щоб ви витрачали гроші, як це було для мене, додайте також значення sys_storage_threshold_max_bytes, у мене 20000000 = близько 20 Мбайт і ніколи не було багато проблем, хоча багато програм у вас немає доступної перевірки місця та буде помилка без зазначення причини, тому потрібно пам’ятати, що це завжди може бути проблема з вільним простором. Між цими двома змінними існує оператор -OR-. Не ставте туди менше 20, тому що якщо певний системний файл, який знаходиться у папці / даних, не вдасться записати, телефон може не завантажитися. Я вважаю, що 20 Мб є досить безпечним, оскільки немає файлів, більших, ніж у / даних, при цьому виняток / data / data, / data / app / та dalvik. і якщо файл буде пошкоджено в / data / data, нічого страшного. Скидання даних цього додатка вирішить це.
Якщо щось з'їдає вільний простір
Якщо ви підозрюєте, що не повинно зайняти стільки місця, або ви просто хочете прибрати простір, як у кількох інших відповідях тут, я також рекомендую DiskUsage, щоб допомогти в роботі візуально знайти те, що займає скільки місця .
У додатку DiskUsage у другому стовпці "медіа" означає "ВНУТРІШНЕ ЗБЕРІГАННЯ", а додатки представляють / дані / додаток та / дані / дані - простір, який займають додатки.
"Системні дані", зеленого кольору, внизу - це папка "решта / дані", і вона не повинна бути занадто високою. 300 Мб добре, понад 1 Гб - це, мабуть, проблема.
Якщо ці дані системи занадто високі, можливо, ваш logcat зійшов з розуму і створив безліч посмертних віршів на самому типі. У цьому випадку, і лише в цьому випадку, всі інші відповіді тут будуть застосовні. Це означає, що видалення цих гігантів витраченого місця в папці / даних / журналі або набір номера * # 9900 #, що, до речі, не є дійсною командою для кожного пристрою, поверне ваш Android до гарного настрою. На скільки часу виникає питання про те, чи винуватець, який спричинив надмірну лісозаготівлю, був виправлений чи усунений.