Android запускает больше времени при запуске приложения во время первого запуска
В моем проекте я использовал библиотеки, которые требуют поддержки multidex. Основываясь на проведенных исследованиях, я узнал, что это вызывает задержку при запуске приложения.
Я включил функцию multidex в gradle. defaultConfig {multiDexEnabled true}
Я использовал для получения NoClassDefFound Exception для устройств kitkat, поэтому добавил следующее:
Я добавил имя приложения в манифест как android: name= "android.support.multidex.MultiDexApplication"
и расширил мой класс приложений с помощью MultiDexApplication.
Я знаю, что любой из приведенных выше достаточно, но я только что написал оба.
Я попробовал разные способы оптимизации продолжительности запуска, как показано ниже:
1.добавленный продуктFlavors { dev { minSdkVersion 21 } prod { minSdkVersion 14 } }
-
dexOptions {
preDexLibraries false
javaMaxHeapSize "4g"
}
-
Я импортировал только необходимые библиотеки сервисов Google Play вместо импорта полной библиотеки.
Можете ли вы предложить мне подход к импровизации продолжительности, потому что на самом деле он занимает более 10 секунд, а иногда и больше, чем в некоторых устройствах?
Или Есть ли другая причина, которая может вызывать задержку, отличную от multidex?
Спасибо заранее.
Я добавил содержимое файла build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "com.example.app"
minSdkVersion 17
targetSdkVersion 23
versionCode 3
versionName "1.2"
multiDexEnabled true
}
dexOptions {
incremental true
javaMaxHeapSize "10g"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/ormlite-android-4.28.jar')
compile files('libs/ormlite-core-4.28.jar')
compile project(':volley')
compile 'com.android.support:cardview-v7:23.2.1'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.github.siyamed:android-shape-imageview:[email protected]'
compile 'com.viewpagerindicator:library:[email protected]'
compile 'com.android.support:design:23.2.1'
compile 'com.facebook.android:facebook-android-sdk:4.1.2'
compile 'org.jsoup:jsoup:1.8.2'
compile 'org.twitter4j:twitter4j:4.0.3'
compile 'com.github.castorflex.smoothprogressbar:library-circular:1.1.0'
compile 'com.orhanobut:dialogplus:[email protected]'
compile 'com.google.android.gms:play-services-maps:8.3.0'
compile 'co m.google.android.gms:play-services-gcm:8.3.0'
compile 'com.google.android.gms:play-services-location:8.3.0'
compile 'org.java-websocket:Java-WebSocket:1.3.0'
compile 'org.apache.commons:commons-lang3:3.4'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
}
Ответы
Ответ 1
Есть странная проблема с недавно выпущенными Android Studio 2.0 или 2.1. Первое время запуска приложения занимает больше времени, чем обычно. Эта проблема возникает только в режиме отладки и не влияет на ваш выпущенный APK. Также я страдаю этой проблемой и нашел это решение.
Settings/Preferences(Mac) → Build, Execution, Deployment → Instant Run and uncheck Instant Run
![введите описание изображения здесь]()
Это решит вашу проблему, и если она будет отмечена как принятый ответ.
Ответ 2
В версии 2.0 и 2.1 студии Android есть проблема, но ответ прост. Вы должны пойти в
Предпочтения/сборка, выполнение, развертывание/мгновенный запуск.
Затем, когда вы нажмете "Instant Run" в правой части, появится 4 варианта с флажком для echa one, вы должны снять отметку с первой и последней.
Наконец нажмите "Применить", "ОК".
И это все.
Это решит проблему