His*_*akr 17 performance android android-multidex
亲爱的,我在很多博客文章中都看到,multidex apps启动比普通应用慢.我的应用程序使用了很多超过64k方法的库,所以我使用multidex.但是当我在发布版本中使用proguard时,最终的apk变得不到64k方法
所以我的问题是:我是否可以在Android调试版本中启用multidex,这样我就没有运行时错误?并在发布版本中禁用multi dex,因为我不需要它?
如果有,怎么样?
如果不是,Android是否足够智能以加速启动,因为它应该认识到应用程序不超过64k,即使它是多dex应用程序?
ant*_*icg 20
是的你可以.当您声明buildTypes仅包含针对debug的multidex时:
buildTypes {
release {
multiDexEnabled false
}
debug {
multiDexEnabled true
}
}
Run Code Online (Sandbox Code Playgroud)
除了仅为调试启用multidex,您可以将min sdk版本更改为21仅用于调试,因此gradle可以加快ART的dexing速度:
android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)
http://developer.android.com/tools/building/multidex.html
| 归档时间: |
|
| 查看次数: |
4877 次 |
| 最近记录: |