Android 应用程序首次启动需要更多时间甚至 30 秒或更长时间

标签 android delay android-multidex

以下是应用首次安装时的日志:

05-12 13:16:23.632 28250-28250/com.app.projectName W/System: ClassLoader referenced unknown path: /data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.041 28250-28250/com.app.projectName W/System: ClassLoader referenced unknown path: /data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.073 28250-28250/com.app.projectName I/MultiDex: VM with version 2.1.0 has multidex support 05-12 13:16:59.073 28250-28250/com.app.projectName I/MultiDex: install 05-12 13:16:59.073 28250-28250/com.app.projectName I/MultiDex: VM has multidex support, MultiDex support library is disabled.

而且我在我的项目中使用了 MultiDex 库,它将完全在 Lollipop 之前的设备下工作。这种延迟在 Lollipop 设备中在 30 秒到 90 秒之间变化,第一次应用程序启动。

看到它不是由于 MultiDex 对吧?因为当时间为 1.) 初始化 05-12 13:16:23.632 并且第二个日志在 36 秒后出现,即 05-12 13:16:59.041

那个东西导致应用程序延迟 ClassLoader 引用.... MultiDex 正在快速初始化。下面是屏幕截图 enter image description here这需要 15 秒到 30 秒,有时甚至更多。

我的 Gradle 文件是:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'

compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.bignerdranch.android:expandablerecyclerview:2.1.1'
compile 'com.github.siyamed:android-shape-imageview:0.9.+@aar'
compile 'org.apache.httpcomponents:httpcore:4.2.4'
compile 'org.apache.httpcomponents:httpmime:4.3'
compile 'com.google.code.gson:gson:2.5'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
compile 'com.squareup.okhttp3:logging-interceptor:3.1.2'
compile 'co.lujun:androidtagview:1.0.2'

compile 'com.google.android.gms:play-services-analytics:9.0.1'
compile 'com.google.android.gms:play-services-auth:9.0.1'
compile 'com.google.android.gms:play-services-plus:9.0.1'
compile 'com.google.android.gms:play-services-gcm:9.0.1'
compile 'com.google.android.gms:play-services-maps:9.0.1'
compile 'com.google.android.gms:play-services-location:9.0.1'
compile 'org.solovyev.android.views:linear-layout-manager:0.5@aar'
compile 'org.apache.commons:commons-lang3:3.0'

compile 'jp.wasabeef:picasso-transformations:2.0.0'
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.3.0'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.greysonparrelli.permiso:permiso:0.2.0'
compile 'com.github.lawloretienne:imagegallery:0.0.14'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.facebook.android:facebook-android-sdk:4.10.0'
compile 'com.github.mahmed8003:DroidValidatorLight:1.0.0'
compile 'com.android.support:palette-v7:23.4.0'
compile 'com.yalantis:ucrop:1.1.+'
compile 'com.baoyz.pullrefreshlayout:library:1.2.0'
compile 'com.jakewharton:butterknife:7.0.1'
}

感谢任何帮助。

最佳答案

多亏了你@Amir,16 天后终于找到了答案。正确答案是禁用即时运行然后运行。新发布的 Android Studio 2.0 & 2.1 有一个奇怪的问题。首次启动应用程序比平时花费更长的时间此问题仅在 Debug模式下发生,不会影响您发布的 APK。

Settings/Preferences(Mac) → Build, Execution, Deployment → Instant Run and uncheck Instant Run

关于Android 应用程序首次启动需要更多时间甚至 30 秒或更长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37180591/

相关文章:

android - 从 Firebase 存储中检索图像并在回收站 View 中显示

javascript - 我需要一个不是 setTimeout() 的延迟

ios - 如何为快速播放的声音添加延迟

android multidex 支持 firebase messaging api

android - TransformClassesWithJarMergingForRelease Android

android - 从 minSdkVersion 16 升级到 minSdkVersion 23 时错误 : package android. support.multidex 不存在

java - Android LibGDX 游戏 : FPS drops because of long EGLImpl. eglSwapBuffers 调用

Android EditText 键入的值未显示

javascript - 如何在调用下一个回调函数之前添加延迟?

Android appcompat-v7 :21 error building gradle