У меня есть карта MicroSD на 32 ГБ, используемая в качестве внутреннего хранилища в моем Moto X Play (XT1563), и я заметил, что некоторые приложения не полностью перемещаются во внешнее хранилище (в частности .obb
, файлы), несмотря на то, что эта новая функция в Marshmallow предполагается делать:
Когда используется внешний носитель, он форматируется и шифруется для одновременной работы только с одним устройством Android. Поскольку мультимедиа сильно привязано к устройству Android, которое его приняло, оно может безопасно хранить как приложения, так и личные данные для всех пользователей.
из: https://source.android.com/devices/storage/adoptable.html
Сайт Motorola более конкретен:
Как только карта будет отформатирована как внутреннее хранилище, внутреннее хранилище вашего устройства и карта будут отображаться как «хранилище устройства» в настройках хранилища, и вы сможете перемещать приложения, которые находились во внутренней памяти, на карту. Перемещение приложения, его медиафайлов, obb файлов и данных на карту. Переместить приложения на карту можно из настроек приложений (настройки->приложения->выбрать приложение->изменить место хранения)
по адресу: https://motorola-global-portal.custhelp.com/app/answers/prod_answer_detail/a_id/ 109134/стр/1449,9582
Например, я переместил Mortal Kombat X (~ 1,3 ГБ) на SD-карту, и большая часть ее данных находится в .obb
файле, находящемся во внутренней памяти в формате /data
.
Это не имеет смысла, потому что в приложении AndroidManifest.xml
разработчик должен указать android:installLocation
атрибут манифеста, чтобы приложению даже было разрешено перемещаться на внешнюю SD-карту. Но в этом случае это не имеет значения, так как Android видит SD-карту как внутреннюю память , поэтому при ее установке не должно возникнуть никаких проблем.
Почему мое внутреннее хранилище все еще используется?
Как упоминалось в комментариях к вопросу, это сделано по замыслу.
Согласно документам :
Приложения можно размещать на принятых носителях только в том случае, если разработчик указал поддержку через атрибут android:installLocation. Новые установки поддерживаемых приложений автоматически размещаются на устройстве хранения с наибольшим количеством свободного места, и пользователи могут перемещать поддерживаемые приложения между устройствами хранения в приложении «Настройки».
В Nougat+ мы могли даже сделать так, чтобы большинство приложений можно было перемещать даже без поддержки разработчиков, переключая принудительно разрешать приложения на внешнем переключателе внутри параметров разработчика.
Подробнее см. здесь: https://www.reddit.com/r/GalaxyS7/comments/5qi1mj/with_nougat_now_we_can_finally_transfer_90_of_the/
Везучий
Джин
Мэтью Рид
But in this case, it wouldn't matter since the SD card is seen by Android as if it were internal storage so it shouldn't have any issues installing there.
-- Вам нужно прочитать полную страницу Google, на которую вы ссылаетесь: «Приложения могут быть размещены на принятых носителях только в том случае, если разработчик указал поддержку через атрибут android: installLocation». Android знает о разнице между «настоящим» внутренним хранилищем и адаптируемым хранилищем.Эрик