BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Android开发周报:Android将使用OpenJDK、React Native详解

| 作者 郭亮 关注 18 他的粉丝 发布于 2016年1月13日. 估计阅读时间: 8 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

新闻

  1. 《Android将使用OpenJDK》:据Hacker News根据Android的一次源码提交表明,谷歌的移动操作系统正在将原先基于Harmony实现的Java库切换到OpenJDK。在2010年收购Sun之后,Oracle起诉谷歌在Android上使用Java代码侵犯版权和专利权。谷歌起初赢得了官司,陪审团判定Java API没有版权,但联邦巡回法庭部分地推翻了这项裁决,认为API有版权。美国最高法院不希望看到这种情况,就将其发给了一个下级法院。那个过程目前还在继续。
  2. 《发布三个月 Android 6.0占比仅有0.7%》:谷歌在去年九月底推出了Android 6.0系统,并于十月初放出,但直到现在这个版本的系统占比也是十分的低。近日谷歌公布了最新的Android系统版本最新数据,占据份额最多的依旧是Android 4.4,而Android 6.0只有0.7%。
  3. 《谷歌真要回来了:中国版Google Play惊现!》:从去年开始,谷歌服务回归中国市场的传闻就一直没有停断过。近日,联想移动业务总裁陈旭东的一番表态坐实了传言,他表示:“谷歌服务肯定会重新进入中国市场,今年无论如何都会回来。”,另外有多名网友曝光了一张Google Play帮助页面的截图,里面赫然出现了“中国版Google Play”的字样,再次从侧面证实以上消息。

教程

  1. 《深入理解Android(三):Xposed详解》:从事Android开发的同学应该都知道Xposed这个神一样的框架。Xposed功能强大,它不仅仅具有插件加载功能,而且可以Hook Android Java虚拟机。当然,Xposed也有缺点,比如当我们开发插架时,每次编译后都需要重新启动设备。Xposed强大,我们可以学习其中的精髓,并且可以把它的思想和技术用到自己的插件加载模块里,本文详细分析了Xposed的工作原理。
  2. 《React Native For Android源码分析-JS如何调用Native的代码》:React Native是2015年最有影响力的开源项目之一。目前国内对于React Native的实践还比较少,估计也只有BAT等一些知名厂商在尝试。所以React Natvie的学习资料比较少。本文是一篇介绍React Native For Android源码的文章,详细分析了JS调用Native代码的过程,是我们学习React Native的优秀教程。
  3. 《微信Android客户端架构演进之路》:去年本文作者在InfoQ举办的ArchSummit深圳2014的架构师峰会上,分享了微信Android客户端的架构演进史。可以说,这是一个典型的Android应用在从小到大的成长过程中的”踩坑”与“填坑”的历史。互联网的变化速度如此之快。2015年底,作者重新和大家回顾了微信客户端架构的演进过程,以及其背后的开发团队、流程的变化与思考。
  4. 《Android应用坐标系统全面详解》:很多人可能不屑一顾Android的坐标系,但是如果你想彻底学会自定义控件,了解Android各种坐标系及一些API的坐标含义,绝对算一个小而不可忽视的技能。所谓Android自定义View那几大主要onXXX()方法的重写,其实大多数都是在处理坐标逻辑运算。说到Android坐标系其实就是一个三维坐标,Z轴向上,X轴向右,Y轴向下。这三维坐标的点处理就能构成Android丰富的界面或者动画等效果,所以Android坐标系在整个Android界面中算是盖楼房的尺寸草图。本文详解了Android中的坐标系统。
  5. 《Gradle for Android之Build.gradle入门》:当我们创建一个新的工程,Android studio会默认为我们创建三个gradle文件,两个build.gradle,一个settings.gradle,build.gradle分别放在了根目录和moudle目录下。但这些gradle文件分别是干什么用的?很多同学对于这一点并不清楚。本文讲解了Gradle在一些基础知识,以及Android Studio的项目构建过程。
  6. 《途牛Android App的插件实现》:途牛的插件化是基于dynamic-load-apk实现的。定义了宿主和插件的通信方式,使得两者能够互相唤起对方的页面,调用彼此的功能。同时对activity的启动方式singletask等进行了模式实现,并增加了对Service的支持等。总之使得插件开发最大限度的保持着原有的Android开发习惯。本文来自途牛技术中心,详细分析了生产环境下插件化的实现方式。
  7. 《Android应用启动优化:一种DelayLoad的实现和原理(下篇)》:本文是作者介绍Android应用启动优化的第二篇文章,这里是第一篇。在Android 开发中,应用启动速度是一个非常重要的点,应用启动优化也是一个非常重要的过程。延迟加载的实现非常简单,但是其中的原理却比较复杂,涉及到Handler、Activity启动过程等多个知识点。本文利用多个工具,详细分析了延迟加载的原理。

开源项目

  1. FileDownloader:FileDownloader是一款Android 文件下载引擎,其特点是稳定、高效、且简单易用。FileDownloader支持高并发、独立进程及自动断点续传等功能。
  2. Small:这是一个轻巧的跨平台插件化框架。Small的所有插件支持内置于宿主包中;插件编码、布局编写方式与独立应用开发无异;插件代码调试与整包开发无异。目前Small已支持Android、iOS以及html5插件,并且三者之间可以通过同一套javascript接口进行通信。
  3. GalleryFinal:这是一个Android自定义相册项目,实现了拍照、图片选择(单选/多选)、 裁剪(单/多裁剪)、旋转、ImageLoader无绑定任由开发者选 择、功能可配置、主题样式可配置。

工具

  1. recompress-apk:这是一个可压缩已签名的apk的体积的脚本,且不会破坏签名。测试可把微信从32MB压到30MB。如果资源占比更大的话,效果更明显。
  2. android-plus-plus:Android++是在Vistual Studio上进行Android开发的解决方案。Android++主要是针对基于NDK的开发,但也支持部署、资源管理及Java编译等。

图书

  1. 《RxJava-Essentials-CN》:这是一本关于RxJava的书箱,翻译自Ivan.Morgillo所写的《RxJava Essentials》。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT