魔趣论坛

 找回密码
 注册账号
通过您的新浪微博帐号登录
QQ登录
查看: 42544|回复: 434

[知识百科] 说说Android ODEX优化在Android 5.0版本前后发挥的重要作用。

[复制链接]
  • TA的每日心情
    奋斗
    2017-2-15 14:49
  • 签到天数: 1302 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-5-17 20:46:24 | 显示全部楼层 |阅读模式
    毛爷爷说,看帖不回是不对的。-----毛爷爷某日睡觉时说的!
    游客,如果您要查看本帖隐藏内容请回复
    什么是ODEX?
    Android应用程序中有一个叫做classes.dex的文件,这是Java源码经过ADT的编译后会转换出来的。
    它是Android系统中可以在Dalvik虚拟机上直接运行的文件格式,而odex则是由classes.dex生成的。

    ODEX优化有什么用?
    ODEX的用途是分离程序资源和可执行文件、以及做预编译处理,达到加快软件加载速度和开机速度的目的。
    一般来说,厂商的原厂系统都会为自己的ROM做ODEX优化处理以提高性能。
    而第三方民间ROM(除魔趣之外)几乎都没有做,实在搞不懂这是什么道理- -!

    棒棒糖与ART带来的疑问?
    很多人会有疑问,Android 5.0开始,默认已经使用ART,弃用Dalvik了。
    应用程序会在安装时被编译成OAT文件,(ART上运行的格式)ODEX还有什么用呢?
    这里我们引用Google权威的回答:
    Dex file compilation uses a tool called dex2oat and takes more time than dexopt. The increase in time varies, but 2-3x increases in compile time are not unusual. For example, apps that typically take a second to install using dexopt might take 2-3 seconds.

    DEX转换成OAT的这个过程是5.0以上系统用户在安装程序或是刷入ROM、增量更新后首次启动时必然执行的。
    按照Google的说法,相比做过ODEX优化,未做过优化的DEX转换成OAT要花费更长的时间,比如2-3倍。
    比如安装一个odex优化过的程序假设需要1秒钟,未做过优化的程序就需要2~3秒。
    由此可见,虽然dalvik被弃用了,但ODEX优化在Android 5.0系统以上依旧起着作用。
    ODEX优化事实上是由一个叫做WITH_DEXPREOPT的参数控制的,开启该参数后,会对APK、JAR以及内核镜像进行优化。
    其中,针对APK和JAR的最直观的优化体现就是,程序的dex被转换成odex。

    关于魔趣ODEX优化:
    魔趣只为正式版本和历史版本启用了ODEX优化,以进一步加强正式版和历史版的稳定、优秀地位。
    当初Android 5.0.2并不是一个较为稳定的版本,我们在测试MK50.2中发现ODEX优化后存在一些奇怪的BUG。
    比如一加的双击唤醒、手势等功能莫名其妙因为ODEX优化而失灵,所以我们临时取消了这一优化。
    而现在,随着Android 5.1.1的发布以及MK51.1的日益稳定,我们将在下个版本让这一优化重新回到魔趣。
    使魔趣能够继续为大家带来一些其它民间ROM上绝无仅有的优化。(除了ODEX优化技术,魔趣还有诸如PNG优化等特色)
    回复

    使用道具 举报

    该用户从未签到

    升级   20%

    发表于 2015-5-17 20:50:55 | 显示全部楼层
    看看看看看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2015-10-30 15:53
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    升级   1.33%

    发表于 2015-5-17 20:51:44 来自移动版 | 显示全部楼层
    支持龙猪科普
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-4-12 12:44
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    升级   34%

    发表于 2015-5-17 20:53:00 来自移动版 | 显示全部楼层
    酷毙了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    升级   4%

    发表于 2015-5-17 20:53:02 来自移动版 | 显示全部楼层
    看看怎么说
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    升级   22%

    发表于 2015-5-17 20:53:05 | 显示全部楼层
    说说Android ODEX优化在Android 5.0版本前后发挥的重要作用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-4-19 22:48
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    升级   14%

    发表于 2015-5-17 20:57:13 来自移动版 | 显示全部楼层
    学习一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-8-22 17:56
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    升级   22%

    发表于 2015-5-17 20:57:33 | 显示全部楼层
    过来涨姿势
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-7-15 20:42
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    升级   21%

    发表于 2015-5-17 21:04:11 来自移动版 | 显示全部楼层
    呜呜呜,看帖不回是不对的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-3-13 13:25
  • 签到天数: 181 天

    连续签到: 2 天

    [LV.7]常住居民III

    升级   69.33%

    发表于 2015-5-17 21:04:38 | 显示全部楼层
    这个不错,要支持!
    回复 支持 1 反对 0

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册账号  

    本版积分规则

    手机版|魔趣论坛 ( 沪ICP备11020540号-1 )|  

    我们旨在提供一个良好的手机玩家技术交流、资源分享社区,如果有涉及版权的资源,请联系管理员并提供相应的版权证明,我们会进行相应处理。

    GMT+8, 2017-3-29 15:09 , Processed in 0.158950 second(s), 48 queries , Gzip On, Redis On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表