写点什么

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

  • 2016 年 1 月 12 日
  • 本文字数:2441 字

    阅读完需:约 8 分钟

新闻

  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 读者交流群(#2))。

2016 年 1 月 12 日 18:004752
用户头像

发布了 121 篇内容, 共 37.3 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

免费领课的活动你错过了么?

池建强

极客时间

系统服务化构建-两方OAuth

图南日晟

微服务 软件工程 身份认证 架构设计

游戏夜读 | vim,vim,vim

game1night

Vol.2 谷歌不只有搜索

pyfn2030

谷歌Google

说到做到

Yukun

拖延症

ARTS-WEEK01

lee

ARTS 打卡计划

Dataway 4.1.5 以上版本升级指南

哈库纳

string StringBoot Dataway Hasor

无需代码!通过 Dataway 配置一个带有分页查询的接口

哈库纳

spring springboot Dataway Hasor

小谈校招offer选择

dongh11

职场 职业规划 应届毕业 心态 招聘

Vol.5 Go初探,新手必看!

pyfn2030

编程语言 新手指南

【快点查查】微信小程序使用流程

tomatocc

从 0 到 1 搭建技术中台之技术文化篇

伴鱼技术团队

企业文化 技术管理

AB 测试平台的设计与实现

伴鱼技术团队

架构 系统设计 后端 A/B

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十)在项目中准备测试环境

编程道与术

Java 编程 软件测试 TDD 单元测试

自己常用的一些快捷键 windows10

halapano

Windows技巧

《程序员的数学》笔记

Rex

读书笔记

使用SpreadJS 开发在线问卷系统,构筑CCP(云数据采集)平台

Geek_Willie

数据挖掘 大数据 SpreadJS CCP

Vol.3 人工智能这么热,你必须知道一点儿!

pyfn2030

人工智能

代码简洁之路 [持续更新]

hq

Java 大前端 编程习惯

那些会阻碍程序员成长的细节[1]

MavenTalker

程序员 职业规划

计算机的时间

伴鱼技术团队

分布式 服务器 技术交流

Wi-Fi p2p & ap 共存

贾献华

wifi p2p ap

Vol.6 几个数据库相关的词

pyfn2030

数据库 大数据 新手指南

绝了!Dataway让Spring Boot不再需要Controller、Service、DAO、Mapper

哈库纳

StringBoot DataQL

Dataway 配置数据接口时和前端进行参数对接

哈库纳

Spring Boot DataQL Dataway Hasor

Dataway 整合 Swagger2,让 API 管理更顺畅

哈库纳

Spring Boot DataQL Dataway Hasor

服务化构建-多维度的认识中台

图南日晟

软件工程 分层架构 架构设计

Gartner 【RPA市场竞争格局】:中国厂商首次进入国际视野

人称T客

Vol.4 了解一下渗透测试

pyfn2030

黑客 网络安全

艺术生,我劝你Mac

zhoo299

Mac CG 艺术

完美兼容老项目!Dataway 4.1.6 返回结构的全面控制

哈库纳

spring Spring Boot Dataway Hasor

React Native 核心原理及跨端选型思路

React Native 核心原理及跨端选型思路

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