Разница между возможностями системных приложений, приложений в памяти телефона и приложений на SD-карте [дубликат]

Возможный дубликат:
в чем разница между системным приложением и пользовательским приложением?

В чем разница между возможностями системных приложений, приложений в памяти телефона и на карте памяти?

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

Есть ли еще отличия? Что это такое и почему?

Какая версия андроида ? 4.x (ics), 3.x и т. д.

Ответы (1)

Определения

  • Системное приложение: приложение, установленное в системном разделе (обычно доступном только для чтения) ( /system)
  • Пользовательское приложение: все остальные (установлены в памяти телефона или на внутренней/внешней SD-карте)

Пользовательские и системные приложения

Относительно системных приложений и пользовательских приложений см. раздел В чем разница между системным приложением и пользовательским приложением? как предложил dymutaos.

Приложения на SD

Особый случай — «Приложения на SD». Начиная с Android 2.2 (он же Fozen Yoghurt или, короче, Froyo), App2SD стал стандартной функцией системы Android. Однако не все приложения можно установить/переместить на SD-карту таким образом, и на то есть веские причины:

  1. разработчик может решить не разрешать это (см. « Расположение установки приложения» в документации для разработчиков Android) .
  2. некоторые функции не позволяют этого, так как они больше не будут работать

Ко второй группе относятся...

  • Автозапуск: приложения больше не могли автоматически запускаться системой (в boot_completed), так как SD-карта монтируется только после трансляции этого события .
  • при подключении SD-карты к компьютеру в качестве USB-накопителя она больше недоступна локально на устройстве, поэтому приложения больше не доступны, поэтому они будут закрыты. Цитата из указанного источника:

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

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

Конечно, есть возможности принудительно перевести почти любое приложение в SD (например , у DroidSail есть такая возможность), но это нарушит вышеупомянутые функции, если какое-либо такое приложение предлагает их. Другая альтернатива предлагается, например, Link2SD (только для устройств с root-доступом), который использует отдельный раздел для этих приложений — раздел, не подключенный к ПК, поэтому некоторые ограничения обходят.

Резюме

По сути, между приложениями нет никакой разницы, но есть разница, где они установлены. Определенные привилегии зарезервированы только для системных приложений, как объясняется в этом ответе , но системные приложения не могут быть перемещены на sd. Приложения на SD имеют определенные ограничения, поэтому не каждое приложение можно переместить туда, но в этом есть и польза: если приложение можно переместить туда, оно может сэкономить ценное место во внутренней памяти, особенно когда оно ограничено (например, это часто бывает на недорогих устройствах).