Разница между авто и preferExternal расположение установки Android манифест

В чем разница между параметрами auto и preferExternal установки в манифесте android? Оба варианта могут установить приложение на внешнюю память. Это что-то важное и важное? Что лучше установить?

Как указано в руководстве Android Api,

Beginning with API Level 8, you can allow your application to be installed on the external storage (for example, the device's SD card). This is an optional feature you can declare for your application with the android:installLocation manifest attribute. If you do not declare this attribute, your application will be installed on the internal storage only and it cannot be moved to the external storage.

Я считаю, что лучше объявить android:installLocation потому что,

  • Внутреннее хранилище ограничено в некоторых устройствах.
  • Пользователь имеет возможность перемещать приложение между внутренним и внешним хранилищем.

Атрибут android:installLocation может иметь следующие возможные значения.

«InternalOnly»: приложение должно быть установлено только на внутреннем устройстве. Если это установлено, приложение никогда не будет установлено на внешнем хранилище. Если внутреннее хранилище заполнено, система не будет устанавливать приложение. Это также поведение по умолчанию, если вы не определяете android:installLocation .

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

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

Если вы объявляете preferExternal , вы запрашиваете, чтобы ваше приложение было установлено на внешнем хранилище, но система не гарантирует, что ваше приложение будет установлено на внешнем хранилище. Если внешнее хранилище заполнено, система будет устанавливать его на внутреннюю память.

Если вы объявляете auto , вы указываете, что ваше приложение может быть установлено во внешнем хранилище, но у вас нет предпочтения места установки. Система решит, где установить приложение на основе нескольких факторов. Пользователь также может перемещать ваше приложение между двумя местоположениями.

Ссылка http://developer.android.com/guide/topics/data/install-location.html