Android开发周报:Android Studio 2.2发布、微信热补丁方案开源

RFQEsmerald 6年前
   <h3><strong>新闻</strong></h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959716552592739479" rel="nofollow,noindex">《Android Studio 2.2发布:改进平台支持 速度提升更智能》</a> :Google刚刚发布了Android Studio 2.2,这款IDE(集成开发环境)旨在帮助开发者们从头打造Android应用。老用户可以直接在软件的设置项中点击更新,新手们则可以到官方下载页查看最新内容。Android产品经理Jamal Eason在开发者博客文章中总结了本次更新的内容,主要集中在速度、智能和Android平台支持三个方面。</p> </li>     <li> <p><a href="/misc/goto?guid=4959717560288671308" rel="nofollow,noindex">《Chrome PC能运行Android应用了》</a> :目前智能手机上的应用数量已经超过PC,其中一些实用App更是受用户喜爱。于是便有不少用户希望能够在PC上运行智能手机应用,免去一手拿鼠标、一手抓手机的不便。</p> <p>现在,谷歌表示用户们的这一期需已经实现,最新版本的Chrome OS已经可以支持Android App。</p> </li>     <li> <p><a href="/misc/goto?guid=4959717275023235144" rel="nofollow,noindex">《谷歌测试Android/Chrome OS混合系统 代号“仙女座”》</a> :据外媒报道,谷歌将在10月4日举行的发布会上推出新硬件,但是近期有消息称,此次活动的最重要部分可能不是硬件,而是软件。消息称,传闻已久的Android/Chrome OS混合系统内部代号为“Andromeda”(仙女座)。目前还不清楚这款系统是否会登陆上市近两年的Nexus 9,但是谷歌正在该平板电脑上测试这一系统。</p> </li>    </ol>    <h3><strong>教程</strong></h3>    <ol>     <li> <p><a href="http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=2649286384&idx=1&sn=f1aff31d6a567674759be476bcd12549&scene=0#rd" rel="nofollow,noindex">《微信Tinker的一切都在这里,包括源码(一)》</a> :最近半年以来,Android热补丁技术热潮继续爆发,各大公司相继推出自己的开源框架。Tinker在最近也顺利完成了公司的审核,并非常荣幸的成为github.com/Tencent上第一个正式公开的项目。在笔者看来Android热补丁技术应该分为以下两个流派:Native流派与Java流派。他们都有着自己的优缺点,它们具体差异大家可参考上文。事实上从来都没有最好的方案,只有最适合自己的。</p> </li>     <li> <p><a href="http://mp.weixin.qq.com/s?__biz=MzI1NjEwMTM4OA==&mid=2651232170&idx=1&sn=f4d7eb8f35ebf3b13696562ca3172bac&chksm=f1d9eac9c6ae63df357c3a96aa0218b5d66237c5411de5b34cd24ddb7a1d258b34444966d8c6&scene=0#rd" rel="nofollow,noindex">《Android DataBinding 数据绑定》</a> :数据绑定简单来说,就是通过某种机制,把代码中的数据和xml(UI)绑定起来,双方都能对数据进行操作,并且在数据发生变化的时候,自动刷新数据。在2015年的谷歌IO大会上,Android UI Toolkit团队发布了DataBinding 框架,将数据绑定引入了Android开发,当时还只支持单向绑定,而且需要作为第三方依赖引入,时隔一年,双向绑定这个特性也得到了支持,同时纳入了Android Gradle Plugin(1.5.0+)中,只需要在gradle配置文件里添加短短的三行,就能用上数据绑定。</p> </li>     <li> <p><a href="http://blog.csdn.net/dd864140130/article/details/52625666?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io" rel="nofollow,noindex">《Retrofit中如何正确的使用https》</a> :信息安全对于每一个用户、厂商来说都是非常重要的。Https是客户端与服务器端通信安全的常用方式。证书锁定是用来限制哪些证书和证书颁发机构是可信任的。需要我们直接在代码中固定写死使用某个服务器的证书,然后用自定义的信任存储去代替系统系统自带的,再去连接我们的服务器,我们将这种做法称之为证书锁定。本文为我们介绍了证书锁定的使用、原理及优缺点,以及对介绍了客户端使用自定义证书。</p> </li>     <li> <p><a href="http://mp.weixin.qq.com/s?__biz=MzAwNTI4NzIxMQ==&mid=2651473357&idx=1&sn=2caec1b5ea02a95e7a9526092f13751a&chksm=80e01989b797909fbb662f96294524cee35252a14454313501024bc30aa40675508fcae228de&scene=2&srcid=0920179NkApCP5usiHOi339F&from=timeline&isappinstalled=0#wechat_redirect" rel="nofollow,noindex">《Android耗电量测试及排查方法》</a> :Android应用耗电量一直是比较麻烦的,也是大家所关注的问题,在4.4系统之前,google一直没有相关API暴露给外面,所以要研究4.4系统以前的耗电量,就需要研读Android的源码;5.0之后的系统,就可以使用adb命令直接获取。仔细查看BatteryStatsHelper中的processAppUsage这个类,就可以看出,每个app的耗电量主要由以下几个方面决定:cpu的耗电量、wakelock的耗电量、wifi的耗电量、移动数据的耗电量和其他传感器的耗电量。</p> </li>     <li> <p><a href="/misc/goto?guid=4959717560755809723" rel="nofollow,noindex">《Android混淆从入门到精通》</a> :作为Android开发者,如果你不想开源你的应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。混淆概念虽然容易,但很多初学者也只是网上搜一些成型的混淆规则粘贴进自己项目,并没有对混淆有个深入的理解。本篇文章的目的就是让一个初学者在看完后,能在不进行任何帮助的情况下,独立写出适合自己代码的混淆规则。</p> </li>     <li> <p><a href="/misc/goto?guid=4959717560848485343" rel="nofollow,noindex">《App优化之消除卡顿》</a> :用户对卡顿的感知,主要来源于界面的刷新,而界面的性能主要是依赖于设备的UI渲染性能。如果我们的UI设计过于复杂,或是实现不够好,设备又不给力,界面就会像卡住了一样,给用户卡顿的感觉。本文详细分析了可能引起卡顿的一些原因及解决办法。</p> </li>     <li> <p><a href="/misc/goto?guid=4959717560930384511" rel="nofollow,noindex">《拥抱SVG:苦恼于图片适配 in Android?》</a> :SVG是指可伸缩矢量图形 (Scalable Vector Graphics),它不同于传统的位图,不是通过存储图像中每一点的像素值来保存与使用图形,而是通过XML文件来定义一个图形,通过一些特定的语法和规则来绘制出我们所需的图像——同样是使用一张图片,SVG 的方式是事先定义好怎么去画这个图,然后等要用的时候再把它去画出来,而使用传统的位图的话就是已经有了画出来的图,然后要用的时候直接把画好的图拿出来用。</p> </li>     <li> <p><a href="https://halfstackdeveloper.github.io/2016/09/23/%E5%9F%BA%E4%BA%8EInstant-Run%E6%80%9D%E6%83%B3%E7%9A%84HotFix%E6%96%B9%E6%A1%88%E5%AE%9E%E7%8E%B0/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io" rel="nofollow,noindex">《基于Instant Run思想的HotFix方案实现》</a> :近一年来,各种HotFix库层出不穷,各家大厂百花齐放,QQ空间最早提出了自己的热修复实现,接着阿里也开源了自家的AndFix(貌似阿里百川已经给开发者提供了新的Hotfix功能),现在微信又有了Tinker,各家都如此关心HotFix,无非是线上版本的bug对产品影响太大,尤其是DAU比较高的app,更是不能容忍。美团基于Instant run原理推出了自己的Hotfix库,不过貌似没有开源,于是自己就按照Instant run的原理也鼓捣出了一个简单的HotFix实现,可以在不重启App和Activity的条件下实现修复。代码地址在 <a href="/misc/goto?guid=4959717561103374270" rel="nofollow,noindex">这里</a> 。</p> </li>    </ol>    <h3><strong>开源项目</strong></h3>    <ol>     <li> <p><a href="https://github.com/supercwn/SuperPlayer?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io" rel="nofollow,noindex">SuperPlayer</a> :SuperPlayer 是一个基于IjkPlayer的控制器,支持手势操作,滑动快进,快退,支持,上滑音量亮度的变化,支持指点位置播放,播放源的切换</p> </li>     <li> <p><a href="/misc/goto?guid=4959717275373354825" rel="nofollow,noindex">tinker</a> :这是Github上腾讯开源的第一个项目。tinker是微信的热修复解决方案,支持dex、library、resources的动态更新。</p> </li>     <li> <p><a href="/misc/goto?guid=4959717275453350083" rel="nofollow,noindex">BookReader</a> :“任阅”,开源小说阅读器,高仿追书神器,实现追书推荐、标签检索、翻书效果、文章阅读、缓存章节、日夜间模式、文本朗读等功能。</p> </li>     <li> <p><a href="/misc/goto?guid=4959717561334456589" rel="nofollow,noindex">CouponView</a> :这是一个半圆锯齿背景虚线边框组合实现简单优惠券效果,可自定义大量参数。</p> </li>    </ol>    <p> </p>    <p> </p>    <p>来自:http://www.infoq.com/cn/news/2016/09/Android-weekly-android-2-2-weixi</p>    <p> </p>