Как определить объем доступного пространства приложения?

Недавно я столкнулся с ошибкой «Не удается установить приложение в папку по умолчанию» (код -20), несмотря на то, что на моем телефоне все еще свободно 700 МБ (нет SD-карты). Погуглив и прочитав, я теперь знаю, что не вся память может быть использована для установки приложений. Поэтому, хотя у меня есть свободное место, пространство приложения-раздела (?) может быть заполнено.

Но я никогда не сталкивался с разделами на своем телефоне. Итак, вопрос: как я могу определить, сколько места у меня есть на моем телефоне для приложений?

Я использую Samsung Note 2, Android 4.4.2. dfвывод (используя эмулятор терминала ; обратите внимание, что я уже удалил несколько приложений, поэтому доступное пространство могло увеличиться. Я до сих пор не знаю, как это увидеть в этом списке):

/mnt/secure/asec: Permission denied
/mnt/shell/container: Permission denied
/mnt/shell/emulated: Permission denied
Filesystem                   Size     Used     Free   Blksize
/dev                       892.5M   140.0K   892.3M      4.0K
/mnt/secure                892.5M     0.0K   892.5M      4.0K
/mnt/asec                  892.5M     0.0K   892.5M      4.0K
/mnt/obb                   892.5M     0.0K   892.5M      4.0K
/system                      2.0G     1.7G   253.6M      4.0K
/efs                        19.7M     9.5M    10.2M      4.0K
/cache                       1.3G    21.9M     1.3G      4.0K
/preload                   551.2M   141.9M   409.3M      4.0K
/data                       10.5G     9.8G   702.1M      4.0K
/storage/emulated          892.5M     0.0K   892.5M      4.0K
/storage/emulated/0         10.4G     9.8G   682.1M      4.0K
/storage/emulated/legacy    10.4G     9.8G   682.1M      4.0K
Ваше Android-устройство, версия Android? Осталось ли места более 10% от раздела пользовательских данных?
@Firelord, добавил устройство и ОС, спасибо за замечание. Я не знаю о разделах на Android. У меня: 16 ГБ общей памяти, 5,54 системы, 7,04 используемого пространства, 142 МБ кэша, 2,62 ГБ разного и 680 МБ свободного места. И я не могу установить приложение размером 26 МБ.
Можете ли вы опубликовать вывод команды dfоболочки? Самый простой способ — использовать утилиту ADB из Android SDK, но вам также понадобятся соответствующие драйверы USB, установленные на вашем ПК.
Да, dfкоманда подойдет. Кроме того, вы можете попробовать приложение DiskInfo: play.google.com/store/apps/…
@Chahk, добавил. На самом деле текущий список может вводить в заблуждение, поскольку при попытке установить приложение я уже удалил некоторые другие приложения. Пожалуйста, объясните, как читать листинг, если он отвечает на мой вопрос. (И опубликуйте это как ответ, чтобы сделать его приемлемым.)
Пора расчистить место. Я бы предположил, что Samsung не настроила низкое дисковое пространство по умолчанию, которое составляет 10% пользовательских данных. Попробуйте удалить кое-что, возможно, сделайте свободное пространство около 1100 МБ, а затем попробуйте установить (с опциональной перезагрузкой).
Хм... Кажется, достаточно места в таких важных областях, как /data(область хранения приложений), /storage/emulated/(область "Внутренняя SD-карта") и /cache. @Firelord может быть прав с 10% порогом «мало места».
Кроме того, прежде чем удалять другие приложения, попробуйте удалить журналы, которые иногда засоряют внутреннюю память на устройствах Samsung, используя код *#9900#набора номера, чтобы вызвать утилиту SysDump и выбрать параметр «Удалить журнал dumpstate/logcat/modem».
Явный случай ошибки «недостаточно памяти» (см. нашу вики-тег недостаточной памяти для первой помощи и подсказок). Это ваш /dataраздел: менее 10% его места свободно.
@Иззи, ребята, давайте! Вы хотите сказать, что у меня должен быть 1 ГБ свободного места на моем устройстве, чтобы установить приложение размером 25 МБ??? (1) Не могли бы вы опубликовать это как ответ, если это то, что вы говорите. (2) Любая ссылка?
@texnic Вы следили за моей ссылкой (тег-вики)? «Недостаток памяти срабатывает, когда свободного места достигает 10% ». И, пожалуйста, я не определил этот предел (или я выбрал какой-то абсолютный предел — проценты здесь не имеют особого смысла, я абсолютно согласен).
@ Иззи, да, я это читал, конечно (я ценю усилия, которые люди прилагают, пытаясь мне помочь). Я не уверен, почему предупреждение (что имеет смысл) преобразуется Play Store в ошибку, а также почему я все еще могу установить 720 МБ бесплатно и не смог установить, когда он был примерно на 100 МБ меньше.
Соответственно обновил мой ответ с дополнительными подробностями, @texnic
@I zzg, теперь выглядит хорошо, другой комментарий удален. Спасибо.

Ответы (1)

В вашем /dataразделе заканчивается свободное место (как всегда, когда возникает эта ошибка — см. нашу вики-тег недостаточной памяти для получения подробной информации, первой помощи и дополнительной информации). Согласно предоставленному вами выводу, доступно только 700 МБ из 10 ГБ. Ошибка «недостаточно памяти» срабатывает, когда свободного места здесь достигает 10% .

Это ограничение было введено для сохранения «запаса прочности» системы. Таким образом, пользователь получает предупреждение при его превышении. В этом состоянии, конечно, Google Play Store отказывается устанавливать какое-либо новое приложение, так как считает, что системе уже не хватает места, и не хочет «ухудшать ситуацию».


Когда было введено правило 10%, устройства поставлялись с гораздо меньшим объемом встроенной памяти, поэтому это было вполне разумно (подумайте об устройствах с объемом памяти менее 512 МБ). В настоящее время это уже не кажется хорошей идеей, особенно с введением MTP, чтобы иметь «внутреннюю память» и «внутреннюю SD-карту» в одном разделе, охватывающем несколько гигабайт. Похоже, что эта проблема еще не решена или «просто забыта».