Подтвердить что ты не робот

Каковы различия между внутренним хранилищем, внешним хранилищем, SD-картой и съемным хранилищем?

В официальной документации :

Использование внешнего хранилища

Каждое Android-совместимое устройство поддерживает общую "внешнюю память", которые вы можете использовать для сохранения файлов. Это может быть съемное хранилище носитель (например, SD-карта) или внутренний (несъемный) хранилище...

Я действительно запутался в этом вопросе. Насколько я понимаю, использование внешнего хранилища не обязательно означает использование съемной карты, верно? Однако, говоря о внешнем хранилище, он всегда упоминается как "SD-карта".

Я разрабатываю приложение, которое загружает файлы .mp3 из Интернета. Я хочу сохранить эти файлы в памяти телефона (не хочу использовать какое-либо съемное устройство), но для того, что я узнал, эти файлы должны быть сохранены во внешней памяти. Однако я хотел бы предложить возможность импортировать файл со съемного устройства. Где и как сохранить эти файлы?

Спасибо

4b9b3361

Ответ 1

При создании приложения, использующего внутреннюю память, ОС Android создает уникальную папку, доступ к которой будет доступна только из приложения, поэтому никакое другое приложение или даже пользователь не смогут увидеть, что в папке.

Внешнее хранилище больше похоже на хранилище общего пользования, поэтому на данный момент это SD-карта, но может стать любым другим типом хранилища (удаленный жесткий диск или что-то еще).

Внутреннее хранилище должно использоваться только для данных приложения (файлы настроек и настройки, звуковые или графические носители для работы приложения). Если вы намерены загрузить много mp3 файлов, я бы рекомендовал сохранить их на внешнем хранилище, поскольку внешнее хранилище часто больше. Кроме того, хранение данных во внутреннем хранилище может помешать пользователю установить другие приложения.

Ответ 2

Разница между внутренним хранилищем, внешним хранилищем (также основным внешним хранилищем) и вторичным внешним хранилищем?

Внутреннее хранилище: - это хранилище, недоступное пользователю, за исключением установленных приложений (или путем укоренения их устройства). Пример: data/data/app_packageName

Внешнее хранилище имеет два типа:

Первичное внешнее хранилище. Встроенное разделяемое хранилище, которое "доступно пользователю, подключив USB-кабель и устанавливая его как диск на главном компьютере". Пример: Когда мы говорим Nexus 5 32 ГБ.

Вторичное внешнее хранилище: Съемное хранилище. Пример: SD-карта.

Ответ 3

Из Документация разработчика

Все Android-устройства имеют две области хранения файлов: "внутреннее" и "внешнее" хранилище. Эти имена приходят с первых дней Android, когда большинство устройств предлагают встроенную энергонезависимую память (внутреннее хранилище), а также съемный носитель данных, такой как микро SD-карта (внешнее хранилище). Некоторые устройства делят постоянное хранилище на "внутренние" и "внешние" разделы, поэтому даже без съемного носителя данных всегда есть два пространства для хранения, а поведение API одинаково, независимо от того, удалено ли внешнее хранилище или нет.

Ответ 4

Терминология внутреннего и внешнего хранилища в соответствии с документами Google/официального Android отличается от того, что мы думаем.

Согласно официальным документам Android: -

Внутреннее хранилище. По умолчанию файлы, сохраненные во внутреннем хранилище, являются приватными для вашего приложения, а другие приложения не могут получить к ним доступ. Когда пользователь удаляет ваше приложение, эти файлы удаляются/удаляются. Пользователь вашего приложения также не может получить к ним доступ с помощью диспетчера файлов; даже после включения опции "показать скрытые файлы" в диспетчере файлов. Чтобы получить доступ к файлам во внутреннем хранилище, вам необходимо укрепить свой телефон Android. Итак, это НЕ, что мы считаем внутренней памятью телефона - Nexus 5 32 ГБ внутренней памяти.

Внешнее хранилище

Это может быть съемный носитель (например, SD-карта) или внутреннее (несъемное) хранилище

Это означает, что оба типа хранения, такие как внутренняя память Nexus 6P 64 ГБ и съемная карта microSD, которые мы вставляем в слот для карт памяти, считаются внешними.

Съемное хранилище означает просто хранение памяти microSD, а не внутреннюю память.

Чтобы сохранить файлы приложений на SD-карте, вы можете использовать метод File[] getExternalFilesDirs (String type) в классе Context. Как правило, вторым возвращенным путем будет путь хранения для карты microSD (если есть).

Примечание: Я отредактировал - сделал мой ответ более полезным после комментария @Tunaki.

Ответ 5

Я думаю, что в операционной системе он определяет внешнее хранилище как нечто, не относящееся к фактической файловой структуре ОС. Если вы помните, когда вы пишете "внутреннее хранилище", Android будет делать папку конфиденциально для вашего приложения. Таким образом, в основном, если это скрытая папка какого-то типа, это означает, что внешнее хранилище может квалифицироваться как что-либо, что не будет автоматически скрыто или управляться непосредственно ОС. Таким образом, это будет означать, что разработчик телефона будет определять определение внутреннего хранилища, поскольку они могут иметь 1 главную часть внутренней флеш-памяти с двумя разделами на ней. Один раздел, предназначенный для хранения os, а другой предназначен для того, чтобы вы могли хранить все на телефоне.

В основном я говорю: это больше связано с оборудованием, и что понятие "внешнее хранилище" может распространяться даже на дополнительное внутреннее хранилище (флеш-память), которое добавил производитель. Вы даже можете рассмотреть варианты хранения определенные пользователем как внешнее хранилище.