Android "Внутрішнє зберігання" використовується, але не повідомляється


9

Як власник пряників Nexus One, я постійно борюся за те, щоб зберегти вільний простір у внутрішньому сховищі телефону. Сьогодні я помітив щось дивне.

У нижній частині екрана "Керування програмами" Андоріда відображається гістограма, що повідомляє про "Внутрішню пам’ять" телефону (у мене безкоштовно 29 М). Коли я натискаю програму, я бачу сховище для "Додатку" та "Дані" програми. Додаток, в більшості випадків, зберігається на SD-картці. "Дані" програми зберігаються на телефоні (я припускаю).

Що я знаходжу, це те, що я не бачу всієї картини того, що займається внутрішнім зберіганням. Наприклад, у мене є внутрішнє зберігання 29M безкоштовно. Додаток Angry Birds, який зберігається на SD-карті, становить 3,14М. Це Дані 4.0K. Потім я видаляю Angry Birds (ах!), І моє безкоштовне внутрішнє зберігання підскакує до 31М. Так виглядає, що це звільнено 2М, коли я лише очікував би, що він звільнить 4.0K. Будь-яка ідея, що тут відбувається?

Відповіді:


4

Різницю вільного простору можна врахувати трьома відповідними факторами, які можуть у результаті отримати деяку оманливу інформацію про реальний простір, наявний у вашому внутрішньому сховищі:

  1. Про це повідомляє вільний простір

    Вільний простір, повідомлений у кінці екрана "Керування програмами", округлюється до МБ, і він дає вам загальну оцінку вільного простору на основі моменту, коли ви відкрили згаданий екран, і він час від часу оновлюється (мої тести про щохвилини).

    Я вже згадував "округлий", тому що якщо ви перейдете до панелі "Налаштування зберігання", ви отримаєте чітке уявлення про вільний доступний простір, аж до KB.

  2. Розподіл додатків

    Як уже згадувалося в t0mm13b, додаток може бути повністю переміщено на SDCard або залишити частину позаду, це питання більше пов'язане з розробкою самого додатка і немає стандартних правил, яких слід дотримуватися.

    Я виконував вправу з "Angry Birds", і при завантаженні згаданих 20 Мб, після встановлення він витратив 24 Мб. Після переміщення його на SDCard за допомогою опції для цього в екрані "Керування програмами" на внутрішній сховище залишилось 1,85 Мбайт плюс 4 КБ даних.

  3. Тимчасові системні файли інших програм або запущених служб

    Поки я писав цю відповідь, повідомлений про вільний простір варіювався між 2 Мб, це говорить нам про те, що ОС постійно створює та звільняє простір залежно від запущених матеріалів.

Можливо, існують інші фактори, що стосуються специфікацій файлової системи ext4, використовуваних Gingerbread, але я не вірю, що вони краще враховують різницю в 2 МБ.


За трьома згаданими вище пунктами, виконуючи вправу із згаданим вами додатком, використовуючи пристрій із запасом Пряничного ПЗУ, мені вдалося нарахувати на 2 Мб різниці, як і місце, яке ви згадали.


Визначте внутрішній і зовнішній простір, який займають

Слідкуючи за коментарями щодо способу точно знати, скільки програми займає на пристрої, і мати можливість переглядати його через зовнішню або внутрішню пам’ять, найточнішою програмою, яку я зараз використовую, є SanDisk Memory Zone від SanDisk Corp. доступний безкоштовно з Google Play Store.

  1. Відкрийте додаток
  2. Виберіть потрібну пам’ять
  3. Перевірте деталі про це

    Екран ScanDisk знімає


Дуже вдале пояснення, як завжди, коли це робить Zuul :) Отже, ви б сказали, що кінцевий користувач може чітко визначити, скільки місця споживає додаток, а де - не залучаючи "складні речі", наприклад, використання термінальні програми? Оскільки у нас тут багато питань, що стосуються "куди зник моє сховище", це буде чудовою допомогою.
Izzy

Додавши до свого попереднього коментаря, так як я не пояснив це: я мав на увазі визначити, скільки місця займає додаток на внутрішньому сховищі, а скільки на зовнішньому сховищі - тобто, щоб побачити, скільки і де. Найкраще, звичайно, якщо можна було б побачити все це в одному місці - на відміну від того, що я показав у своїй відповіді з дослідниками графічного зберігання.
Izzy

Я вважаю, що файли додатків dex, які, як правило, залишаються поза пам’яттю телефону, коли він перейшов на SD, використовуючи акції Apps2SD. Тож моя теорія полягає в тому, що чим менше декс-файлів програми, тим ефективнішою стає App2SD.
Ірфан

Я вже запитав себе, чи включений кеш Dalvik в даний "розподіл додатків". Те саме для тимчасових файлів, які можна було б ідентифікувати через власника (uid) - але це вимагало б повного сканування файлової системи, що коштуватиме трохи часу та ресурсів, але теоретично це може бути зроблено на вимогу (за допомогою певної кнопки перестановки).
Izzy

1
Дякую за додаток, @Zuul! Під час використання цієї програми: на екрані екрана не відображається поділ на "пам'ять телефону". Чи розрізняє це розділи /dataта /data/dataрозділи, що часто спричиняє плутанину (якщо це окремі розділи - що не стосується всіх пристроїв / версій Android)?
Іззі

3

Перевірившись, я лише знайшов кілька корисних додатків, які розкривають, куди йде сховище.

Для одного є DiskUsage . Хоча на скріншоті 1 тут зображено sdcard, відео на сторінці відтворення додатків дає зрозуміти, що його можна використовувати і на внутрішньому сховищі - і навіть посилання на сторінку додатків, яку ви зазвичай знаходите через Меню -> Програми -> Керування програмами . Ви можете ходити та збільшувати / зменшувати масштаб кожної області, як показують анотації на скріншоті.

Мій другий кандидат - діаграма розмірів папок , яка постачається з іншим дизайном і, як видно на знімку 2 , також може мати справу з внутрішнім зберіганням.

DiskUsage Діаграма розмірів папок

Ці двоє, безумовно, можуть допомогти визначити "копита для зберігання". У playstore знайдеться багато інших, які дотримуються цієї концепції, але більшість з них обмежені sdcard або потребують кореневого доступу.


3

Оскільки N1 тісно пов’язаний з HTC Incredible, ви, можливо, зіткнетеся з тим самим невисоким місцем для зберігання, яке наштовхує на неймовірних користувачів (як я). Я поставив відповідне запитання, коли почав відчувати примусове закриття програм через відсутність простору розділів і пізніше закріпив своє розуміння розділів даних у відповіді на запитання про помилкове попередження про низький простір (внутрішнє зберігання) на HTC Incredible :

... мій екран налаштувань додатка показує мені, яким повинен бути /dataвикористання (ніколи не близький до повного, кількість відповідності /dataрозміру, повідомлений DiskUsage), хоча мої програми насправді обмежені набагато меншими /data/data(там, де у мене часто не вистачає місця) ...

Я виявив, що число, про яке повідомлялося як "Внутрішнє зберігання", повідомляло про щось зовсім не корисне, і, з усіх рахунків, було марним, допомагаючи мені реально керувати сховищем додатків. Я погоджуюсь з Іззі в його рекомендації щодо DiskUsage , я вважаю це дуже корисним, особливо коли він укорінений (за допомогою кореневих дозволів він може відображати /data/dataвикористання розділів). Використання емулятора термінала для дослідження використання також було корисним для діагностики моєї проблеми. Коли ви дивитесь на свої /dataта /data/dataрозділи, чи бачите ви однакові розбіжності?


2

Це здається, що ви використовуєте Apps2SD або еквівалент, завдяки чому, переміщуючи додаток на SDCard, лише частина програми зберігається у внутрішній пам’яті, а решта - на SDCard.

Для перевірки перевірте свою SDCard і перевірте, чи є дані програми все ще там, це повинно бути вказано в /sdcard/Android/data/подальшому, а потім назва пакету встановленої програми.

Це нормальний механізм Apps2SD.


Дякую, я використовую Link2SD. Я не розумів, що це залишає частину програми позаду. Це допомагає пояснити це.
rcourtna

1

У багатьох людей є така проблема, і у мене така сама. Переміщення програм на SD-карту просто затримує проблему, оскільки щось інше заповнює внутрішню пам’ять. Нарешті я зрозумів, і це чудово працює.

У мене є Galaxy Tab 7, але багато андроїд-пристроїв це випробують. Названий /dataнасправді насправді не просто дані, але саме там Android встановлює додаток apk та деякі дані, пов’язані з ним. Якщо ви змусите встановити apk на SD-картці, він все одно використовуватиме частину /dataмісця (невелику кількість) для деяких даних.

Проблема, яку я виявив, в тому /data/tombstone, що ви знайдете 10 файлів з назвою tombstone_0#. Це інформація про постійну / безперервну налагодження, зібрана андроїдом. Ці файли накопичуються з часом. Вам це не потрібно для звичайного користувача. Видаліть усі. Ці 4 файли використовували 1,4 ГБ мого внутрішнього сховища планшетного ПК 1,89 Гб.

Для цього вам потрібно буде викорінити свій пристрій. Так, ви повинні. І це не вибухне, не хвилюйтесь, я це зробив і багато інших! Потім отримайте таку програму, як "Root Explorer" для перегляду та видалення небажаної пошти. Він запитає та отримає кореневу привілей, якщо ви вкоренили свій пристрій раніше, і ви зможете робити все, що завгодно.

Щоб викорінити свій пристрій, просто google "root android [моя модель пристрою]", і ви швидко знайдете, як викорінити свій пристрій.

Ця проблема є вадою дизайну. Коли у внутрішній пам’яті мало, Android має розпочати фонове завдання, щоб очистити цей мотлох.


Будь ласка, також дивіться мої коментарі до вашої подібної відповіді тут - я ніколи не бачив надгробків, що займають більше 10 Мб, ваш випадок перший. І навіть якщо це вимагає кореня, щоб видалити їх. PS: Оскільки "надгробні пам'ятники" називаються "основними відвалами" на Unix / Linux, їх розмір змінюється залежно від пам'яті, що використовується відповідними процесами. До ваших прихильностей були дуже голодні програми :)
Izzy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.