Первый запуск занимает много времени (ClassLoader ссылается на неизвестный путь)
После обновления моей Android-студии до 2.0 и перехода на 2.0.0 и SDK-Platform до 23.0.3 Когда я хочу запустить приложение, это занимает слишком много времени (около 2-3 секунд), и в Android Monitor появляется следующее предупреждение:
W/System: ClassLoader referenced unknown path: /data/app/net.hadifar.test-1/lib/arm
W/System: ClassLoader referenced unknown path: /data/app/net.hadifar.test-1/lib/arm
W/art: Suspending all threads took: 5.439ms
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
W/art: Suspending all threads took: 6.808ms
Но во второй раз я запускаю приложение, оно запускается как обычно. Может кто-нибудь знает, в чем проблема?
5 ответов
В версии 2.0 была добавлена новая функция мгновенного запуска.
Чтобы включить эту функцию, инструмент добавляет много метаинформации, поэтому первая сборка и загрузка занимают больше времени.
Знать о
установка minSdkVersion 15 или выше для получения любой прибыли;
Instant Run в настоящее время не работает с Джеком (для поддержки Java 8) и будет отключен при использовании новой цепочки инструментов;
вы все еще можете столкнуться с некоторыми глюками и ошибками;
Здесь мы можем написать (или проголосовать) вопросы (отчет, чтобы сделать лучший инструмент).
Есть странное поведение в недавно выпущенном A.S 2.0
(или 2.1) и экран становится черным (или Activity
пауза) на несколько секунд. Как объяснил доктор, первая сборка может занять больше времени A.S 2.0
Но эта проблема случается во время выполнения.
Быстрое исправление, основанное на комментариях @Skadoosh, будет отключать мгновенный запуск:
Settings → Build, Execution, Deployment → Instant Run and uncheck Enable Instant Run
Больше информации:
Когда вы развертываете чистую сборку, Android Studio использует ваше приложение для мгновенного запуска обновлений кода и ресурсов. Хотя обновление запущенного приложения происходит намного быстрее, первая сборка может занять больше времени. Вы можете улучшить процесс сборки, настроив несколько параметров DexOptions:
android {
...
dexOptions {
maxProcessCount 4 // this is the default value
javaMaxHeapSize "2g"
}
}
Также для предупреждения До Android 4.1. это говорит:
Мгновенный запуск поддерживается только при развертывании варианта отладочной сборки, использовании плагина Android для Gradle версии 2.0.0 или выше и установке minSdkVersion на 15 или выше в файле build.gradle уровня приложения. Для лучшей производительности установите minSdkVersion равным 21 или выше.
Просмотр этого видео от Googler может помочь вам понять немного о Instant Run.
Я столкнулся с той же проблемой, когда обновил плагин Andoid gradle 2.4 до 2.10, и решил ее с помощью инструкции ниже
Зайдите в Android studio Файл-> Настройки → Сборка, выполнение, развертывание → Мгновенный запуск и снимите все флажки CheckBox
Нет необходимости отключать мгновенный запуск, но следуйте моему шагу, используйте плагин gradle v2.3.2 и используйте gradle v3.5, чтобы решить его, наслаждайтесь, в любом случае я решу проблему в своем проекте.
Я столкнулся с той же проблемой, использование низкой версии Gradle может быть решена.
build.gradle: classpath 'com.android.tools.build:gradle:1.3.0'
gradle-wrapper.properties: distributionUrl = https: //services.gradle.org/distributions/gradle-2.4-all.zip