美文网首页
笔记:综合技术

笔记:综合技术

作者: jiaming_ | 来源:发表于2017-10-23 09:43 被阅读3次

综合技术


  • android 65535方法数限制原因

Android app中所有代码都放在dex文件中,dex中存放了全部java编译后的字节码文件

当Android系统启动一个应用的时候,有一步对dex进行优化,通过DexOpt处理工具专门来对dex进行优化,DexOpt执行是在第一次加载Dex的时候执行,这个过程会生产一个ODEX文件,即Optimised。

DexOpt会把每个方法存储起来(dexopt采用一个固定大小的缓冲区来存储应用中所有方法信息,这个缓冲区就是LinearAlloc,缓冲区在新版本中的大小是8M或16M,在2.2,2.3中只有5M,如果存储的方法信息大于5M,dexopt就会报错),存在一个链表结构里,但这个链表长度是用short类型来保存的。

short类型二进制位16位,范围:-215~215-1 也就是-32768~32767 一共65535个数

官方的解决方案,导入multidex包:http://blog.csdn.net/czhpxl007/article/details/50419974

在Android5.0之前,需要使用官方提供的android-support-multidex.jar包,5.0之后,Android应用默认支持multidex.

multidex的优缺点
  1. 会降低应用的启动速度
  2. 由于MultiDex的bug,极少数4.0以上的手机运行multidex的程序会报错。

相关文章

  • 笔记:综合技术

    综合技术 android 65535方法数限制原因 Android app中所有代码都放在dex文件中,dex中存...

  • Android 开发艺术探索学习笔记(六)

    结合 官方文档 阅读《Android 开发艺术探索》时所做的学习笔记。本篇记录第 13~15 章。 综合技术 使用...

  • 综合技术

    使用CrashHandler来获取应用的crash信息 首先需要实现一个UncaughtExceptionHand...

  • 综合技术

    1.全局捕获异常可以自己创建crashHandler实现Thread.UncaughtExceptionHandl...

  • 综合技术

    13.1 使用 CrasHandler 来获取应用的 crash 信息 Android 为开发者提供了 setDe...

  • (十三)综合技术

    13.1 使用CrashHandler来获取应用的crash信息 13.2 使用multidex来解决方法数越界 ...

  • Android 综合技术

    导语 本章主要讲解,CrashHandler来监视App的crash信息,通过Google的multiDex方案解...

  • 腾讯后端面经(含答案)

    鹅厂 一面基础技术面 二面项目技术面 三面综合技术面 总结 某东南亚互联网公司 一面技术面 二面研发经理综合面试 ...

  • 腾讯后端面经(含答案)

    鹅厂 一面基础技术面 二面项目技术面 三面综合技术面 总结 某东南亚互联网公司 一面技术面 二面研发经理综合面试 ...

  • 强大、好用、免费,适合学生群体笔记软件评测:云 Office

    强大、好用、免费,适合大学生群体的笔记软件综合评测 :云 Office、云笔记、离线笔记、开源笔记、手写笔记、写作...

网友评论

      本文标题:笔记:综合技术

      本文链接:https://www.haomeiwen.com/subject/niuouxtx.html