【全文转载自InfoQ,作者为郭亮】Android开发周报:工信部欲统一推送标准、Android专家看Kotlin
新闻
《谷歌提高悬赏金额:发现安卓bug者,最高奖励20万美金》:就像市面上其他的操作系统一样,没有哪个系统天生完美,安卓系统在设计之初也可能存在一些bug或者安全漏洞,而若这些bug或安全漏洞被黑客利用,用户恐怕会遭受不小的损失。谷歌深知这一点,有鉴于此,谷歌在两年之前启动悬赏计划,那些发现并提交了安卓系统bug的人将得到赏金。日前,谷歌提高了悬赏金额,并希望借此吸引更多的研究人员和工程师参与到这项悬赏计划中来。
《6月最新安卓各版本份额:牛轧糖达9.5%,暴增34.8%》:近日谷歌公布了最新的安卓各版本份额情况,根据过去七天(截止到6月5日)访问Google Play商店的所有设备所运行的系统统计得出。数据显示,本月最大涨幅显然是Android 7.0牛轧糖,相比上月增加了34.8%。Android Nougat7.0的份额可谓突飞猛进,Nougat7.1份额仅为0.6%。
《工信部放大招:国内安卓生态将统一消息推送标准》:据工信部旗下泰尔终端实验室发布消息称,目前泰尔终端实验室联合包括华为、OPPO、vivo、小米、三星、魅族、金立、努比亚、谷歌、百度、阿里巴巴、腾讯、个推、极光等国外内主要相关企业共同制定安卓统一推送服务(Unified Push Service,简称UPS)技术标准,旨在为国内的消息推送服务建立统一的标准,为终端用户提供更好的手机使用体验,为应用开发者更好解决消息推送需求,并取得了阶段性成果。
《Android O正式版最早或将在8月第1周发布》:Android O 预览版已经进行到DP 2了,我们从Android Developer可以得知DP3将会在本月中旬发布,而正式版将还是老规矩放在第3季度发布,具体时间不得而知。虽然Android O的预览版日常使用不会有太大问题,但是或多或少还是会遇到一些让人比较头疼的BUG,很多小伙伴也还在耐心的等待着正式版的出来。
教程
《微信移动端数据库组件WCDB系列(二) — 数据库修复三板斧》:长久以来SQLite DB都有损坏问题,从Android、iOS等移动系统,到Windows、Linux等桌面系统都会出现。由于微信所有消息都保存在DB,服务端不保留备份,一旦损坏将导致用户消息被清空,显然不能接受。微信即将开源的移动数据库组件 WCDB (WeChat Database),致力于解决DB损坏导致数据丢失的问题。之前一篇文章《微信 SQLite 数据库修复实践》介绍了微信对SQLite数据库修复以及降低损坏率的实践,这次再深入介绍一下微信数据库修复的具体方案和发展历程。
《17位谷歌Android开发专家是如何看待Kotlin的》:Google已经多次表达过他们不反对Kotlin的使用,只要Kotlin编译器依然生成有效的字节码,那么 Google就不会阻止任何人使用它。目前Kotlin已经成为了安卓开发的一级编程语言。本文作者联系了一些Android专家(人员列表很长),并得到了来自17位的答复。
《开发者大杀器 —— 刨根问底,揪出Android App耗电的元凶代码》:这是一篇讲述应用耗电的文章,围绕Android电量采集机制及第二代Battery Historian分析工具讲述。文从数据采集、导出、环境搭建、解读报告的角度出发,从细节讲解整个流程。和大谈概念的文章不同,这里将进行实际操作及分析。
《Android卡顿检测方案》:应用的流畅度最直接的影响了App的用户体验,轻微的卡顿有时导致用户的界面操作需要等待一两秒钟才能生效,严重的卡顿则导致系统直接弹出ANR的提示窗口,让用户选择要继续等待还是关闭应用。所以,如果想要提升用户体验,就需要尽量避免卡顿的产生。本文提供了详细的卡顿检测方案。
《Android多状态加载布局的开发Tips》:对于大多数 App 而言,项目中都有多状态加载View这种需求。对应到开发中,我们通常会开发一个对应的自定义layout用于根据页面不同的状态来显示不同的提示view。在项目中,我们大多会在开发初期就把这套layout框架写好,然后其他人的自己的开发过程中直接使用即可。这篇文章不讨论如何去实现这样的自定义 loading layout,Github上这样的layout太多了,这里主要思考、总结在实际开发中开发这样的自定义Layout时应该注意那些地方。
《WebView缓存原理分析和应用》:现在的App开发,或多或少都会用到Hybrid模式,到了WebView这边,经常会加载一些js文件(例如和WebView用来Native通信的bridge.js),而这些js文件不会经常发生变化,所以我们希望js在WebView里面加载一次之后,如果js没有发生变化,下次就不用再发起网络请求去加载,从而减少流量和资源的占用。那么有什么方式可以达到这个目的呢?先得从WebView的缓存原理入手。
《Android热修复升级探索(二)》:Android资源的热修复,就是在app不重新安装的情况下,利用下发的补丁包直接更新本app中的资源。作者在开发阿里云移动热修复(Sophix)的过程中,对Android资源的加载原理做了深入的探究,最终在资源修复方法上取得了突破性进展!新的资源修复方法不论是在使用便捷性、补丁包大小以及运行时效率方面,相比其他实现都有巨大的优势。
开源项目
Aria:一个简单易用,稳当高效的下载框架。
AgentWeb: AgentWeb是基于Android WebView一个功能完善小型浏览器库。使用很方便,集成进你应用,只需几行代码。
InfiniteCycleViewPager:一个很炫的切换效果实现,支持横向、竖向切换。
MaterialShadows:这是一个可以将组件增加阴影效果的开源库。
感谢徐川对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。