qq_22260761的博客

一步一步的先前()

App引用的库太多,方法数超过65536后无法编译

    为什么有最大的限制呢, 因为android会把每一个类的方法id检索起来,存在一个链表结构里面。但是这个链表的长度是用一个short类型来保存的, short占两个字节(保存-2的15次方到2的15次方-1,即-32768~32767),最大保存的数量就是65536。新版本的Android系统中修复了这个问题, 但是我们仍然需要对低版本的Android系统做兼容.
    解决方法有如下几个: 1.精简方法数量,删除没用到的类、方法、第三方库。 2.使用ProGuard去掉一些未使用的代码 3.复杂模块采用jni的方式实现,也可以对边缘模块采用本地插件化的方式。 4.分割Dex
阅读更多
个人分类: android
上一篇机型适配的一些小技巧
下一篇Badge在多种机型上显示
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭