Android应用程序启动延迟即使禁用了multiDex,TraceView也会显示Dalvic.system.dex文件在启动时运行
我已经在这方面做了几天了,还没有找到任何解决方案。由于多重索引过程,最初启动时间相当长。我设法摆脱了我没有使用的额外的google服务库,使代码足够小(低于2^16方法引用),不需要多索引。然而,当我运行并查看traceview时,我仍然会看到下面的图像,其中显示dalvic.system.dexfile在主线程中启动,开始运行大约3秒钟。我附加了我的gradle,并显示禁用了多索引选项。知道是什么导致了dalvic.system.DexFile启动,如果可能的话,知道如何消除它吗 编辑:经过进一步调查,我认为“即时跑步”可能是原因。还不确定!如果有人能证实这一点,那当然很好。运行instant run是否会在应用程序启动时导致任何可能导致延迟的初始化?那会和dexfile有关吗 编辑:我对Instant Run的效果做了一些搜索,发现了一些问题。似乎即时运行确实会影响启动时间,在一些没有即时运行的运行之后,我的问题似乎得到了解决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启动,如果可能的话,知道如何消除它吗 编辑:经过进
是的,这肯定是由即时跑步引起的。
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'
...}