谷歌分包方案解决64K方法数限制的遗留问题(4.4.4安卓系统的闪退崩溃)
2017-12-19 12:27
489 查看
谷歌分包方案
谷歌multiDex存在的缺点
在build.gradle中添加:multiDexEnabled true
加入依赖‘compile ‘com.android.support:multidex:1.0.1’’
让应用的Application类直接使用或者继承MultiDexApplication
如果你想使用自定义的Application,又不想继承MultiDexApplication,那么可以在attachBaseContext方法里执行MultiDex.install(base)
以上就是谷歌multiDex方案所需做的设置,通过配置multiDex,便可解决64k方法数限制
2、API Level 14之前,由于Dalvik LinearAlloc bug(问题22586,就是上文提到的LinearAlloc问题),很可能会出问题的
3、应用程序使用了multiedex配置的,会造成使用比较大的内存
4、对于应用程序比较复杂的,存在较多的library的项目。multidex可能会造成不同依赖项目间的dex文件函数相互调用,找不到方法
5、如果项目中的Application没有继承分包的MultiDexApplication而是继承默认的Application,就会在4.4.4的安卓系统下启动闪退报以下错误
谷歌multiDex存在的缺点
谷歌分包方案
问题:在build.gradle中添加:multiDexEnabled true
加入依赖‘compile ‘com.android.support:multidex:1.0.1’’
让应用的Application类直接使用或者继承MultiDexApplication
如果你想使用自定义的Application,又不想继承MultiDexApplication,那么可以在attachBaseContext方法里执行MultiDex.install(base)
以上就是谷歌multiDex方案所需做的设置,通过配置multiDex,便可解决64k方法数限制
谷歌multiDex存在的缺点
1、如果在主线程中执行MultiDex.install,加载second dex,因为加载从dex是同步的,会阻塞线程,second dex太大的话,有可能导致ANR2、API Level 14之前,由于Dalvik LinearAlloc bug(问题22586,就是上文提到的LinearAlloc问题),很可能会出问题的
3、应用程序使用了multiedex配置的,会造成使用比较大的内存
4、对于应用程序比较复杂的,存在较多的library的项目。multidex可能会造成不同依赖项目间的dex文件函数相互调用,找不到方法
5、如果项目中的Application没有继承分包的MultiDexApplication而是继承默认的Application,就会在4.4.4的安卓系统下启动闪退报以下错误
相关文章推荐
- android studio DEX 方法超过64K限制和gradle编译OOM问题解决,异常名:Error:Execution failed for task ':app:dexDebug'. >
- (2.2.8.4 & 4.4.15.1)Gradle:multiDexEnabled之DEX 方法超过64K限制和gradle编译OOM问题解决
- 64k方法数限制原理与解决Android5.0之前的版本分包报错发现的
- android studio DEX 方法超过64K限制和gradle编译OOM问题解决,异常名:Error:Execution failed for task ':app:dexDebug'. >
- DEX 方法超过64K限制和gradle编译OOM问题解决,异常名:Error:Execution failed for task ':app:dexDebug'. > com.android.ide
- Win8/8.1系统metro应用中使用IE浏览器出现闪退问题的解决方法
- DEX 方法超过64K限制和gradle编译OOM问题解决
- word, excel 等“由于本机的限制,该操作已被取消。请与系统管理员联系。”问题的解决方法
- 关于Linux系统下在使用close关闭串口设备时引起的内核崩溃问题解决方法
- 解决iOS7上UITextField限制字数输入导致崩溃问题的方法
- Android 谷歌热布丁解决Dex超出方法数的限制问题
- win10系统中天气闪退怎么办?Win10天气应用闪退问题解决方法
- 【Get深一度】ADS2011.10在win10系统中闪退问题解决方法
- 解决iOS7上UITextField 或者 UITextView限制字数输入导致崩溃问题的方法
- DEX 方法超过64K限制和gradle编译OOM问题解决
- Android下Toolbar+SearchView程序崩溃闪退问题解决方法及示例
- DEX 方法超过64K限制和gradle编译OOM问题解决
- 恢复或重装系统后仍不能清除病毒木马问题解决方法
- 删除角色:系统定制员产生的问题和解决方法
- 关于Oracle用sqlldr导入限制值长度大于255问题解决方法