app包的优化

作者: 朱_c713 | 来源:发表于2020-02-29 19:45 被阅读0次

    一. 减少方法的数目

    1). 在开发过程中对应用方法的限制是非常重要的——《Android 高性能变编程》:
    我们可以在apk中关联大量的方法,但最多只能调用前65536个方法,没有更多的空间可供指令调用。为了解决这个问题,工程师们花了大量的时间讨论,但大部分解决方案都会对应用的性能产生影响。

    方法过度会导致:

    • 包的体积增大
    • dex增多
      dex增多,会导致加载耗时。
      可以采用:
      1>apk-method-count查看项目的方法。
      2>android-classyshark,找一个简单的apk,用它打开并查看他的结构。

    解决办法有以下:

    1>移除重复的库

    烂的代码往往经过几手,通常旧的开发者会引入多个有重复功能的包。

    2>优化混淆规则

    对项目中使用的Jsoup和Greendao的混淆规则进行优化,之前相关的开发人工的混淆规则是keep整个库,所以会导致无用的方法也保留

    3>精选库的使用

    作者早期的项目,用到过一个poi的库,字体的库,还有视频播放等。能使用早起的精简版本解决问题的,可以用早期的——因为当时没添加那么多功能,包的体积往往很小。
    作者还接手一个视频类的项目,使用一个著名的开源库GSYVideoPlayer
    ,里面有两个视频播放的内核。作者讲了,如果不涉及到一些视频格式,可以继承更小的包。我就将整体的集成换成了微量的针对性的包。大大缩小了包的体积。

    • 所以库的使用:要做到时时勤拂拭,莫使惹尘埃!——经常去看自己的集成库。

    参考文献:
    《Android 高性能变编程》【西班牙】Enrique López Mañas(恩里克·洛佩斯·马尼亚斯),【意】Diego Grancini (迪戈·格兰奇尼)著叶坤 译

    《Kotlin实战》【俄】Dmitry Jemerov Svetlana Isakova 著 覃宇 罗丽 李思阳 蒋扬海 译
    《重构改善既有代码设计》【美】马丁福勒(MartinFowler)著 熊节 林从羽译
    Android app性能调优
    安卓包的优化
    内存占用优化
    app渲染优化
    掌握多线程使用

    相关文章

      网友评论

        本文标题:app包的优化

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