Андроид что за папка emulated

Андроид что за папка emulated

Указанная тема не существует, или находится на премодерации.

Cookies Preference Center

We use cookies on this website. To learn in detail about how we use cookies, please read our full Cookies Notice. To reject all non-essential cookies simply click «Save and Close» below. To accept or reject cookies by category please simply click on the tabs to the left. You can revisit and change your settings at any time. read more

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

Источник

Что такое / хранилище / эмуляция / 0 /?

Недавно я понял, что если я удаляю файлы, /sdcard/Download он удаляет файлы из /storage/emulated/0/Download . И если я добавлю в него файлы, /sdcard/Download то дублирую их в /storage/emulated/0/Download .

Так что же /storage/emulated/0/ ? Для каких целей он у нас есть в нашей файловой системе Android?

/storage/emulated/0/Download фактический путь к файлам.

/sdcard/Download символическая ссылка на фактический путь /storage/emulated/0/Download

Однако фактические файлы находятся в файловой системе /data/media , которая затем монтируется /storage/emulated/0 (и часто в другие точки монтирования).

Symlink При вычислении, символическая ссылка является термином для любого файла , который содержит ссылку на другой файл или каталог в виде абсолютного или относительного пути , и что влияет на разрешение имени пути. Символьные ссылки уже присутствовали к 1978 году в миникомпьютерных операционных системах от DEC и RDOS от Data General.

/storage/emulated/0/ фактически /data/media/0/ выставляется через эмулированную / виртуальную файловую систему, а не через реальную.

Это со ссылкой на мой предыдущий ответ здесь , но с более соответствующими деталями.

ХРАНЕНИЕ АНДРОИДОВ:

* >S> Для линка, >E> для эмулировать и >B> для связывания монтирования
* USER-ID текущего пользователя в случае Multiple Users или Work Profile , как правило , 0 то , что от владельца устройства
* VIEW является одним из read (для приложений с permission.READ_EXTERNAL_STORAGE) или write (permission.WRITE_EXTERNAL_STORAGE) или default (для процессов , запущенных в корне / global namespace т.е. т.е. вне zygote)
* В предыдущих версиях Android были незначительные различия, но концепция эмуляции с тех пор была реализована.
* Для получения более подробной информации о реализации пространства имен монтирования Android см. Этот ответ .

Короче говоря, /sdcard и /storage/emulated/0 — которые представляют файловую систему FAT / vFAT / FAT32 — указывают на /data/media/0 (или /mnt/expand/[UUID]/media/0 в случае приемлемого хранения ) сквозной FUSE или sdcardfs эмуляции.

Будучи не специфичным для Android, но в основном связанным с Linux, symlink и bind mount (см. «Создание bind mount») выходят за рамки этого вопроса, поскольку речь идет в основном о части эмуляции.

Эмуляция:

Почему эмуляция здесь? Эмулируемая файловая система — это уровень абстракции в реальной файловой системе ( ext4 или f2fs ), который служит в основном двум целям:

  • Сохранение USB-подключения устройств Android к ПК (теперь через MTP осуществляется через несколько дней)
  • Ограничить несанкционированный доступ приложений / процессов к личным носителям пользователя и данным других приложений на SD-карте.

В ранних устройствах Android не хватало внутренней памяти и использовались (физически) внешние SD-карты, которые традиционно используют файловую систему семейства FAT для обеспечения совместимости с большинством ПК (см. Доминирование Microsoft в мире ПК).
Когда размер внутреннего хранилища вырос, та же файловая система была переведена на внутреннюю (все еще называемую «внешнюю») SD-карту.
Но реализация FAT / vFAT имела две основные проблемы, которые Google постепенно решала:

  • Устройства Android были подключены к ПК напрямую ( USB Mass Storage ) так же, как мы подключаем USB-накопитель в наши дни. UMS предоставляет устройство на уровне блоков и отключает SD-карту от платформы Android (отключает монтирование), что делает целые данные недоступными для приложений и, возможно, нарушает многие функции.
  • FAT (любимый в Windows в дни разработки) никогда не был предназначен для обеспечения разрешений UNIX ( символические ссылки mode, uid, gid и аналогичные , и тому ioctls подобное FS_IOC_FIEMAP ). Таким образом, все данные на SD-карте были доступны всем приложениям (поскольку каждое приложение Android является пользователем UNIX / Linux и имеет идентификатор пользователя) без ограничений, что вызывает серьезные проблемы с безопасностью и конфиденциальностью.
Читайте также:  Subway surf взломанная для андроид

Обе эти проблемы были решены с помощью эмуляции:

  • Фактическое хранилище SD-карты было перемещено в /data раздел (или независимый раздел / sdcard на некоторых устройствах ранее), который содержит ext4 файловую систему (постепенно заменяющуюся f2fs ), полностью реализуя разрешения UNIX.
  • Этот дизайн сделал использование UMS невозможным, поскольку весь /data раздел не мог быть открыт для ПК по двум причинам: (1) он содержит множество настроек и данных приложений, которые должны быть защищены от других приложений, а также от пользователей. (2) Файловые системы Linux не поддерживаются Windows.
    Таким образом, UMS был заменен на Media Transfer Protocol, который является расширением типа клиент-сервер для PTP — уже установленный протокол. MTP не предоставляет блочное устройство, но работает через программный стек. Хост MTP работает на Android как приложение ( android.process.media ), полностью изолированное в среде Android, не способное выполнять какие-либо сложные задачи.

Теперь приложения (и MTP, который также является приложением) вместо этого взаимодействуют с эмулируемым хранилищем /data/media , выполняя обе задачи одновременно, т.е. осуществляя проверку разрешений снизу и выглядя как файловая система FAT на верхней поверхности.

Google теперь реализует эмуляцию через sdcardfs, чтобы преодолеть недостатки FUSE ; одна из основных причин — затраты на ввод / вывод, т. е. повышение скорости чтения / записи.

ВНЕШНИЕ РАЗРЕШЕНИЯ НА ХРАНЕНИЕ:
Концепция публичных и приватных файлов на внешнем хранилище может быть продемонстрирована на примере:
Установите приложение Termux.
Создать каталоги /sdcard/Android/data/com.termux/test_dir и /sdcard/test_dir .
Создать файлы /sdcard/Android/data/com.termux/test_file и /sdcard/Android/data/com.termux/test_file .
Выполните следующие команды:

* У вас должен быть установлен WhatsApp или выбрать личную папку другого приложения.

Теперь принудительно остановите приложение Termux и предоставьте разрешение на хранение . Выполните команды еще раз:

Смотрите разницу в разрешениях для одинаковых файлов и каталогов. Кажется, что это просто невозможно без эмуляции в собственной файловой системе Linux, когда одновременно работают сотни приложений (пользователей). Это эмуляция файловой системы, которая позволяет открывать один и тот же файл с тремя различными наборами разрешений одновременно, независимо от его исходных разрешений в реальной файловой системе:

Источник

Память Андроид: очистить кэш и данные приложений

Память мобильных устройств — вопрос, интересующий многих владельцев Android-смартфонов. Объём доступной к использованию свободной памяти, предоставляемый производителями телефонов, за последние годы существенно увеличился, но объём данных, которые хранит пользователь в носимых гаджетах, растёт ещё быстрее.

В данной статье мы поговорим об одном из способов, позволяющих освободить место в памяти Андроид смартфона . Ниже речь пойдёт о том, что такое очистка кэша и что происходит при нажатии на кнопку Очистить данные у приложений в Android OS.

Содержание статьи:

Накопитель заполнен на 75%. Перенести данные на SD-карту

Со временем, когда объём хранимой на смартфоне информации сильно увеличивается, пользователь может столкнуться с проблемой нехватки памяти на телефоне. Уведомление, оповещающее о том, что память заполнена , может выглядеть по-разному. Вот один из примеров:

О чём говорит это предупреждение? В данном случае система предупреждает, что на внутренней памяти устройства осталось меньше 25% свободного пространства. По большому счёту, это не критическая ошибка, доступная память ещё в наличии, но нужно иметь ввиду два момента:

  1. Свободное место на телефоне скоро может закончиться, чтобы этого не произошло в самый неподходящий момент, заранее позаботьтесь об освобождении занятого простарнства.
  2. Для комфортной работы с ОС желательно держать свободным некоторый объём памяти внутреннего накопителя. Это обеспечит поддержание уровня быстродействия и плавности в повседневном использовании.

В статье Память на Android. Все разделы памяти Андроид устройств мы подробно останавливались на разборе всех типов памяти Android OS. Там же приводилась следующая строчка:

Внутренняя память устройства (Internal phone storage) — та часть модуля памяти смартфона, которая не занята системными разделами и доступна пользователю для размещения приложений, медиа-контента и документов. Часть памяти, на которую устанавливается софт , определяется как раздел Data, а часть, занятая пользовательскими файлами — как User.
Зачастую реальной границы между этими областями нет, и тогда распределение памяти зависит только от нужд владельца устройства.

Если учесть это в рамках текущей публикации, то делаем вывод, что система может оповещать как о нехватке памяти на внутреннем накопителе в целом, так и конкретно о нехватке памяти в разделе Data . Разница в следующем:

  • Если на смартфоне требуется освободить место в общем на внутреннем накопителе, то мы можем принести в жертву либо пользовательские данные (музыка, фотографии, видео, документы), либо приложения и файлы связанные с ними.
  • Если на смартфоне необходимо освободить выделенный раздел Data , то удаление фотографий или музыки не приведёт ни к какому результату. В этом случае требуется оптимизация именно памяти, занятой программами и играми. Это важно понимать.
Читайте также:  Обновление программного обеспечения для android

Если с удалением медиафайлов и документов всё более или менее понятно, то вопрос оптимизации памяти, занимаемой приложениями, рассмотрим подробнее.

Из чего состоят приложения на Андроид

В первую очередь, стоит указать, что каждое Андроид приложение условно можно разделить на три части по типу используемых файлов:

  1. Программа. Это само приложение, apk-файл .
  2. Данные приложения. Это пользовательская информация, которая сохраняется в процессе всего периода жизни той или иной программы на смартфоне. Данные вносятся в программу пользователем или по его прямому запросу.
  3. Кэш приложения. Это временно хранимые файлы. Грубо говоря, это та же пользовательская информация, с той лишь разницей, что её утрата не влияет на работоспособность приложения. Программа способна заполнить кэш нужными данными самостоятельно в процессе работы.

Теперь определим, где хранится программа, её данные и кэш приложения на Андроид.
Если продолжить отсылку к упомянутой выше статье о памяти на Android и воспользоваться классификацией разделов из неё, то можно смело утверждать, что и сама программа, и данные пользовательских приложений, и их кэш хранятся в Энергонезависимой памяти -> в Перезаписываемом разделе EEPROM -> Internal phone storage (внутренний накопитель) -> Data (то есть, данные).
Мы в данном случае не рассматриваем системные приложения, так как они расположены в Прошиваемом разделе System, и, без наличия root-прав, недоступны для удаления.
То есть, из вышесказанного делаем вывод, что и программа, и её данные с кэшем занимают память в разделе Data , а это значит, что очистка любой из этих составляющих, освобождает пользовательское место и, собственно, частично решает проблему нехватки памяти на Андроид устройстве.
Взглянем на все составные части приложений Android детальнее.

Удаление приложения на Андроид

Сначала отметим, что сама программа в системе Андроид — это не только apk-файл . Кроме него могут быть задействованы дополнительные библиотеки и дополнительные технические* файлы программы.
Под техническими файлами мы понимаем те ресурсы, которые хранятся вне исполнительного файла , но служат для обеспечения выполнения приложением своей работы.
И исполнительный файл программы, и сопутствующие ему файлы чаще всего располагаются в следующем каталоге от корня файловой системы:

В папке app располагается каталог приложения, в корне которого находится сам apk-файл , и папка lib, в которую помещаются системные библиотеки, если таковые имеются. В зависимости от программы, рядом с apk-файлом могут быть и папки с другим названием.

Содержимое папки с программой в каталоге /data/app/ хранится там на протяжении всего времени работы от момента установки до момента деинсталляции приложения.

Очистить данные приложения Андроид

Теперь, что касается данных приложения. Данные — это, в первую очередь, пользовательская информация. В общем случае хранятся данные приложения в следующем каталоге:

В частном случае это может быть немного иной путь, что, в частности, соответствует общему каталогу, отличаясь только отображением иерархии каталогов:

Этой папкой возможные места хранения данных приложения на Андроид не ограничиваются. Часто программа при установке создаёт свой каталог в корне карты памяти: либо внутренней, либо внешней. Именно в этих папках программа сохраняет информацию, которую:

  • вводит пользователь;
  • скачивает само приложение по запросу юзера.

Кроме вышеперечисленных путей есть ещё один каталог, о котором нужно упомянуть отдельно. Речь пойдёт о папке obb, которая расположена по пути:

Эта папка служит специально для того, чтобы там хранился так называемый кэш игр . Немножко подробнее остановимся на том, что это такое и для чего используется.

Игровая индустрия развивается достаточно быстро. Вместе с этим растут и требования к аппаратной части, в том числе и к дисковому пространству. Всё это актуально и для Android OS. Серьёзные игры с красивой прорисовкой графики и серьёзным геймплеем требуют хранения большего объёма системной информации. Всё это привело к тому, что у многих игр появился ярко выраженный кэш. Но, как и в разных способах установки программ, есть несколько путей и в том, как поместить кэш игры в папку /Android/obb/:

  1. Если объём кэша не очень велик , то разработчик может заархивировать данные, поместить их непосредственно в apk-файл или просто привязать загрузку кэша к загрузке самой игры. При установке такой игры кэш самостоятельно распакуется в нужную папку. Эту возможность разработчики иногда используют как дополнительную защиту от взлома, так как в случае, если вы скачали игру не из магазина Google Play, а из альтернативного источника, игра при запуске не найдёт кэш и откажется запускаться.
  2. Если в apk-файле всех файлов игры не размещено, то, по умолчанию, кэш игры скачивается через интернет автоматически самим приложением при его первом запуске.
    Нужно отметить ещё одну причину, по которой кэш игр не очень удобно упаковывать изначально в apk-файл. Дело в том, что, зачастую, кэш для разных телефонов будет отличаться в зависимости от разрешения экрана, типа видеочипа и процессора, а иногда и от модели смартфона. А если скачивать кэш при первом запуске игры, то не придётся передавать на смартфон пользователя те данные, которые не подходят для его устройства.
  3. Всё*, что скачивается конкретным приложением, можно скачать вручную. То есть, кэш игры можно качать не через саму игру, а отдельно . Это возможно в том случае, если кто-нибудь скачает подходящий вам кэш (по разрешению экрана, типу видеоускорителя и так далее) и выложит его в сеть. Тогда нам останется скачать архив с кэшем и поместить его в нужный каталог: obb или data, в зависимости от игры (в частных случаях путь хранения кэша может отличаться и указывается дополнительно).

Если вы скачиваете кэш игры отдельно, то советуем поступать следующим образом: сначала установить игру , затем запустить её и дать время для запуска загрузки кэша из сети , а спустя несколько секунд прервать загрузку и подложить имеющийся кэш вручную . Таким образом мы избегаем ошибки в выборе каталога для размещения кэша.

Теперь кому-то может показаться странным, почему информацию о папке с кэшем мы поместили в главу о данных Android, а не о самом кэше. И вот в чём дело. По сути, кэш игры так называют потому, что он скачивается ею при установке. Эти данные являются кэшем только для самого приложения и с точки зрения пользователя. Для операционной системы Андроид файлы кэша игры являются данными приложения и при очистке кэша не затираются (ниже повторим об этом). А когда же затираются?

Читайте также:  Настройка клавиатуры для андроида

Также при установке игр с кэшем необходимо учитывать ещё один нюанс: при удалении такой игры следует вручную проверить, удалился ли кэш автоматически. Если этого не произошло, то папку с кэшем можно удалить вручную любым файловым менеджером.

Очистить кэш приложения Андроид

Для начала определим, что такое кэш приложения :

Слово «кэш» позаимствовано от английского слова «cache«, которое, в свою очередь, произошло от французского «cacher«, что значит «скрывать«, «прятать«.
Теперь о том, для чего нужен кэш . В кэше не хранится действительно важная информация, сюда записываются файлы, обращение к которым возможно особенно часто. Сделано это для увеличения скорости доступа. Приведём пример, описывающий работу кэша браузера:

Мы заходим на определённую статью на сайте, которая содержит, допустим, 5 картинок. Для того, чтобы отобразить эти картинки пользователю, браузер скачивает их превьюшки и сохраняет на жёсткий диск или в память телефона. Теперь, когда мы зайдём на эту же статью в следующий раз, браузеру не придётся повторно качать те же изображения, он выдаст их нам из кэша , что позволяет увеличить общую скорость загрузки страницы.

Но у кэша существует естественный недостаток: он хранит как действительно нужные, регулярно вызываемые файлы, так и те, которые были показаны лишь раз и больше пользователю не понадобятся. Чтобы избавиться от ненужной информации, занимающей место, существует опция, которая позволяет очистить кэш приложения.

Давайте рассмотрим пример, который объясняет смысл понятий программа, данные приложения и кэш приложения простыми словами.

Предположим у нас, как у пользователя , в офисе сидит секретарша офис-менеджер Татьяна. Татьяна — это, в нашем случае, приложение . На рабочем столе Татьяны стоит компьютер, которым офис-менеджер постоянно пользуется — это данные приложения . Кроме компьютера на рабочем столе всегда находятся ручка, блокнот, степлер, дырокол и калькулятор — это кэш нашего приложения .

В какой-то момент времени мы переезжаем в другой офис (прошивка или смена устройства), он больше и просторнее, но в нём пока нет ничего. В первую очередь, приходит офис-менеджер (установка программы). Однако, она пока не может работать, у неё нет данных, поэтому мы устанавливаем ей компьютер (подгрузка данных приложения). Работа закипела. Но пока стол пуст (кэш очищен), скорость работы офис-менеджера ниже прежней: каждый раз, чтобы скрепить документы или посчитать большие суммы, ей приходится отвлекаться на поиски нужных инструментов. Поэтому, постепенно на столе у Татьяны вновь появляется степлер и кулькулятор (заполнение кэша). А вот блокнот, оказывается, нужен не так часто, поэтому он может лежать в выдвижном шкафу, а на освободившееся на столе место мы поместим календарь, обращение к которому происходит чаще. Благодаря этому Татьяна теперь справляется со своими задачами ещё быстрее.

Это грубый пример того, как очистка кэша благотворно влияет на работу приложения .

Кэш приложения также может размещать по разным папкам. Чаще всего это одноимённый каталог cache, который расположен, например, в папке приложения из /Android/data/

То есть, если на нашем смартфоне заканчивается доступная память на накопителе, именно очистка кэша позволит нам освободить некоторый объём памяти для записи новых данных. Перед очисткой кэша убедитесь, что данная процедура безболезненна для конкретной программы и не приведёт к удалению важной информации.

Соответственно, отвечая на вопрос: «Удалится ли кэш игры при очистке кэша приложения?» — можно сказать, что нет, содержимое папки /Android/obb/ в общих случаях не затрагивается, если иное не предусмотрено разработчиком системы или приложения.

Источник

Оцените статью