Android应用程序启动延迟即使禁用了multiDex,TraceView也会显示Dalvic.system.dex文件在启动时运行

Android应用程序启动延迟即使禁用了multiDex,TraceView也会显示Dalvic.system.dex文件在启动时运行,android,android-multidex,app-startup,android-traceview,android-instant-run,Android,Android Multidex,App Startup,Android Traceview,Android Instant Run,我已经在这方面做了几天了,还没有找到任何解决方案。由于多重索引过程,最初启动时间相当长。我设法摆脱了我没有使用的额外的google服务库,使代码足够小(低于2^16方法引用),不需要多索引。然而,当我运行并查看traceview时,我仍然会看到下面的图像,其中显示dalvic.system.dexfile在主线程中启动,开始运行大约3秒钟。我附加了我的gradle,并显示禁用了多索引选项。知道是什么导致了dalvic.system.DexFile启动,如果可能的话,知道如何消除它吗 编辑:经过进

我已经在这方面做了几天了,还没有找到任何解决方案。由于多重索引过程,最初启动时间相当长。我设法摆脱了我没有使用的额外的google服务库,使代码足够小(低于2^16方法引用),不需要多索引。然而,当我运行并查看traceview时,我仍然会看到下面的图像,其中显示dalvic.system.dexfile在主线程中启动,开始运行大约3秒钟。我附加了我的gradle,并显示禁用了多索引选项。知道是什么导致了dalvic.system.DexFile启动,如果可能的话,知道如何消除它吗

编辑:经过进一步调查,我认为“即时跑步”可能是原因。还不确定!如果有人能证实这一点,那当然很好。运行instant run是否会在应用程序启动时导致任何可能导致延迟的初始化?那会和dexfile有关吗

编辑:我对Instant Run的效果做了一些搜索,发现了一些问题。似乎即时运行确实会影响启动时间,在一些没有即时运行的运行之后,我的问题似乎得到了解决


是的,这肯定是由即时跑步引起的。
    apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId "com.example.main.projectone"
        minSdkVersion 18
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        multiDexEnabled false
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

...}