Дублируются ли библиотеки appcompat в каждом приложении, которое их использует?

У меня есть два связанных вопроса об использовании библиотек appcompat. Для обсуждения предположим, что мой минимальный уровень SDK равен 7, а мой целевой уровень SDK — 19 (Kitkat). Если мое приложение создано с помощью android-support-v4.jar:

  • Будет ли эта банка сохранена, когда приложение будет установлено на устройстве с Kitkat, или она будет удалена, чтобы уменьшить размер приложения?
  • Если пользователь устанавливает несколько приложений, содержащих android-support-v4.jar, выполняется ли какая-то оптимизация для выделения дублированного jar из всех приложений, или для каждого установленного приложения будет одна копия jar?

person Ellen Spertus    schedule 09.02.2014    source источник


Ответы (1)


Будет ли эта банка сохранена, когда приложение будет установлено на устройстве с Kitkat, или она будет удалена, чтобы уменьшить размер приложения?

Он будет сохранен в той мере, в какой JAR существует в вашем приложении.

Если пользователь устанавливает несколько приложений, содержащих android-support-v4.jar, выполняется ли какая-то оптимизация для выделения дублированного jar из всех приложений, или для каждого установленного приложения будет одна копия jar?

Для каждого установленного приложения будет одна копия JAR, если только JAR существует в вашем приложении.

Поймите, что в рабочем приложении то, сколько android-support-v4.jar останется в вашем APK после того, как ProGuard завершит его, будет зависеть от того, какие функции этого JAR вы используете. Одна из вещей, которую делает ProGuard, — это удаление неиспользуемых классов, и эти неиспользуемые классы в основном поступают из JAR (по крайней мере, можно надеяться).

person CommonsWare    schedule 09.02.2014
comment
Спасибо! Я не знал о ProGuard. - person Ellen Spertus; 10.02.2014