Android开发周报:美团热更新方案Robust开源、Apk编译速度优化详解

ChetLumholt 8年前
   <p>新闻</p>    <ol>     <li> <p><a href="/misc/goto?guid=4959742895034540935" rel="nofollow,noindex">《安卓8.0多项新特性曝光:看片利器》</a> :离Google I/O 2017开发者大会还有两个月左右的时间,该大会最大的看点就是下一代安卓系统Android 8.0,按照以往的传统其代号应该是Android O,“O”有可能是Oreo(奥利奥),但目前还无法确定。现在关于安卓8.0的传闻开始崭露头角了,最新的传闻来自外媒9to5Google。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742895124997944" rel="nofollow,noindex">《谷歌捣毁安卓恶意软件家族Chamois:已感染上百万台设备》</a> :谷歌捣毁了一个可对安卓设备展开大规模广告欺诈的恶意软件家族——Chamois,据谷歌统计,基于Chamois开发出的恶意软件已致使上百万台设备受到感染。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742895207689916" rel="nofollow,noindex">《谷歌官方宣布Android平板暂不支持语音助手》</a> :如果你的Android平板电脑也搭载的是安卓棉花糖或牛轧糖系统,你是否一直想知道为什么上面没有显示Google Assistant谷歌助手功能?其实,这是因为Android平板电脑版的Google Assistant还没有来临。</p> </li>    </ol>    <p>教程</p>    <ol>     <li> <p><a href="https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651746151&idx=1&sn=a6ab1365133ba3e0a2b082ad8240cd7e" rel="nofollow,noindex">《Android热更新方案Robust开源,新增自动化补丁工具》</a> :Robust热更新系统借鉴Instant Run原理,实现了一个兼容性更强而且实时生效的热更新方案。其基本思路是,Robust热更新系统在一个方法的入口处插入一段跳转代码,当发现某个方法出现bug就跳转执行补丁中的代码,略过原有代码的执行,否则执行原有方法体逻辑。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742895381960200" rel="nofollow,noindex">《手把手教你绘制Android粘性果冻动画组件》</a> :Android3.0之后开启了GPU硬件加速让图形渲染没以前那么卡顿,特别是5.0之后的material design更是引领潮流。作者利用工作之余,写了一个效果很赞的果冻动画组件,本文详细介绍了组件的实现原理及用到的算法。文章涉及到的源码在 <a href="/misc/goto?guid=4959742895468763677" rel="nofollow,noindex">这里</a> 。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742895553174441" rel="nofollow,noindex">《20分钟理解React Native For Android原理》</a> :目前有很多公司已经使用了React Native技术,如果要定制化需求及性能优化则需要对React Native底层原理有更深入的理解。作者通过研读源代码,详细分析了Android中的React Native实现原理。本文主要分析了Java层实现,对C++和JS笔墨较少。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742622497622645" rel="nofollow,noindex">《Android APP启动优化》</a> :我们在点击桌面图标的时候,偶尔会出现一个白屏,然后才进入主界面,这是因为从桌面点击APP图标启动应用开始,程序会显示一个启动窗口等待Activity的创建加载完毕再进行显示。冷启动白屏持续时间可能会很长,这可是个槽糕的体验,本文给出了解决该问题的方案。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742622576929840" rel="nofollow,noindex">《Android应用优化小手册》</a> :性能优化是每一位Android开发同学的必修课,性能优化的技术也在不断的发展变化,本文从布局优化、内存优化、电量优化、网络优化、启动优化、体积优化、性能优化、业务优化8个维度讲解了如何进行性能优化。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742895697317390" rel="nofollow,noindex">《加快apk的构建速度,如何把编译时间从130秒降到17秒》</a> :公司的项目代码比较多,每次调试改动Java文件后要将近2分钟才能跑起来,实在受不了。作者在网上找了一大堆配置参数也没有很明显的效果,尝试使用instant run效果也不怎么样,然后又尝试使用freeline编译速度还可以但是不稳定,每次失败后全量编译很耗费时间,既然没有好的方案就于是作者开始自己尝试做。本文的源码在 <a href="/misc/goto?guid=4959742895783870943" rel="nofollow,noindex">这里</a> 。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742518270199245" rel="nofollow,noindex">《FlexboxLayout帮助您完成聪明的UI布局》</a> :去年Google的I/O上发布了ConstraintLayout,使得开发者在构建复杂布局的同时能够让视图层级得到精简。它在 Android Studio的Visual Layout Editor中也同样可以使用。同时,Google开源了FlexboxLayout,使得 Android里的CSS Flexible Layout模块也能拥有同样强大的功能。本文详细介绍了FlexboxLayout的使用方法。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742518423397382" rel="nofollow,noindex">《美团点评移动网络优化实践》</a> :网络优化对于App产品的用户体验至关重要,与公司的运营和营收息息相关。有两个公开的数据:页面加载超过3秒,57%的用户会离开。Amazon页面加载延长1秒,一年就会减少16亿美金营收。在美团点评,监控团队开发了基于端到端的客户端监控平台。端对端就是请求从客户端发出到服务端响应返回的整个过程。它区别于后台服务监控,是一种从用户角度观察到的真实体验监控。本文是美团网络优化的实践,对于我们进行相应优化很有参考价值。</p> </li>    </ol>    <p>开源项目</p>    <ol>     <li> <p><a href="/misc/goto?guid=4959742895922453525" rel="nofollow,noindex">Robust</a> :美团开源的热更新框架,对Android版本无差别兼容。无需发版就可以做到随时修改线上bug,快速对重大线上问题作出反应,补丁修补成功率高达99.9%。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742895783870943" rel="nofollow,noindex">fastdex</a> :如果你忍受不了apk龟速的编译(尤其是项目中有多个dex),fastdex可以帮助你加快apk生成过程。</p> </li>     <li> <p><a href="/misc/goto?guid=4959742518672337352" rel="nofollow,noindex">ancyShowCaseView</a> :这是一个使用简单、可定制的高亮引导动画,可以使用在新功能的引导页位置。</p> </li>     <li> <p><a href="/misc/goto?guid=4959739221583469997" rel="nofollow,noindex">ExpectAnim</a> :效果很赞的一个滚动动画效果。</p> </li>    </ol>    <p> </p>    <p> </p>    <p>来自:http://www.infoq.com/cn/news/2017/03/Android-weekly-meituan-robust</p>    <p> </p>