Каковы различия между внутренним хранилищем, внешним хранилищем, SD-картой и съемным хранилищем?
В официальной документации :
Использование внешнего хранилища
Каждое Android-совместимое устройство поддерживает общую "внешнюю память", которые вы можете использовать для сохранения файлов. Это может быть съемное хранилище носитель (например, SD-карта) или внутренний (несъемный) хранилище...
Я действительно запутался в этом вопросе. Насколько я понимаю, использование внешнего хранилища не обязательно означает использование съемной карты, верно? Однако, говоря о внешнем хранилище, он всегда упоминается как "SD-карта".
Я разрабатываю приложение, которое загружает файлы .mp3 из Интернета. Я хочу сохранить эти файлы в памяти телефона (не хочу использовать какое-либо съемное устройство), но для того, что я узнал, эти файлы должны быть сохранены во внешней памяти. Однако я хотел бы предложить возможность импортировать файл со съемного устройства. Где и как сохранить эти файлы?
Спасибо
Ответы
Ответ 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, а другой предназначен для того, чтобы вы могли хранить все на телефоне.
В основном я говорю: это больше связано с оборудованием, и что понятие "внешнее хранилище" может распространяться даже на дополнительное внутреннее хранилище (флеш-память), которое добавил производитель. Вы даже можете рассмотреть варианты хранения определенные пользователем как внешнее хранилище.