Android 开发周报:Google 击败 Oracle,React Native 编写跨平台 App

阅读数:2696 2016 年 6 月 14 日

话题:移动Android语言 & 开发架构

新闻

  1. 《Google 击败 Oracle,Android 可以正常使用 Java API》:在旧金山,历经两周审讯,三天审议,周四联邦陪审团宣布:Google 所使用的 Android 操作系统未侵犯甲骨文的 Java 版权,重新实现的 37 个 Java API 在法律规定的“合理使用”范围之内。
  2. 《Android 推出新功能:根据位置推荐应用》:据外媒报道,谷歌将在新版 Android 系统中推出名为“Nearby”的功能。Android 手机用户能够了解他们所在的位置最有用的应用程序。这也是谷歌的 Android 个性化手机的最新举措。
  3. 《安卓 6.0 仍存内存泄露问题,谷歌承诺“新版本”解决》:目前仍有不少网友反映安卓 6.0 Marshmallow 系统中依然存在内存泄露问题,目前谷歌已经注意到了该问题,并承诺在“新版本(future release)”中解决,这里的“新版本”应该不会是安卓 7.0,而是月度补丁。

教程

  1. 《Android 性能测试》:性能测试可以分为卡顿 ANR 测试、流畅度测试、电量测试、流量测试。一个 APP 为什么需要性能测试,总的来说就是一些不严谨的代码,在低端机型造成卡顿,对手机上有限电量的浪费,昂贵流量的浪费,造成用户流失。本文就这些测试点给出了详细方案。
  2. 《Android VPN 实现原理介绍》:虚拟专用网络(Virtual Private Network,VPN)能够在不使用专用物理连接的情况下,将一个虚拟的网络扩展到全网,因此所有连接到 VPN 中的设备可如同物理连接到同一私有网络中一样,发送并接收数据。如果个人设备使用 VPN 接入目标私有网络,这种方式也叫作远程访问 VPN;当 VPN 用来连接两个远程网络的时候,被称为 site-to-site VPN。本文详解了 VPN 在 Android 上的实现原理。
  3. 《使用 React Native 编写跨平台 App》:我们以前都听说过多个跨平台 app 开发工具,比如框架 Cordova 和 Titanium,那实际使用 React Native 是一种什么样的情况了呢?在本文中,作者解释了 React Native 到底是什么,以及其是如何工作的,并且以撰写实际的 iOS 和 Android 应用探究了 React Native 了。在最后,作者希望读者能够看到有足够的理由在下一个移动应用中选择使用 React Native。
  4. 《安卓 OpenGL ES 2.0 完全入门(一):基本概念和 hello world》:OpenGL 是我们经常听说或使用的的技术之一,但大部分开发同学对于其原理并不是很了解。本文作者打算写一个关于 OpenGL 的系列文章,本文是第一篇,主要介绍了 OpenGL 的一些基本概念,并且包含了对一个 hello world 程序的完全解析。
  5. 《全民 K 歌增量升级方案》:本文主要介绍一种增量升级方案。用户在升级版本时,不需要下载完整的安装包,只需下载增加的部分即可体验新版本完整功能,即节约用户流量,也减少服务器流量,并解决了多渠道问题,值得尝试。
  6. 《Android 逆向之旅—动态方式破解 apk 终极篇 (应对加固 apk 破解方式)》:现在市场中加固 apk 的方式一般就是两种:一种是对源 apk 整体做一个加固,放到指定位置,运行的时候在解密动态加载,还有一种是对 so 进行加固,在 so 加载内存的时候进行解密释放。本文主要针对第一种加固方式实施了破解。
  7. 《浅析 MVP 中 model 层设计》:项目中使用了 MVP,就不会再像以前网络访问数据,SharedPreference 保存数据,本地数据库保存,缓存数据等的处理分散于每个 activity 或者 fragment 之间。数据的获取、存储、数据状态变化都将是是 Model 层的任务。RxJava,Retrofit,EventBus,SqlBrite 等技术都会在后续得到分析和使用。本文从一些优秀的模板代码分析出发,研究、对比了 MVP 中 model 层的不同设计。
  8. 《Android 并发编程起因》:大多数的 Android 设备是多处理器的,Android3.0 和以后的版本开始支持多处理器核心架构。多处理器对称 Symmetric Multi-Processor 缩写为 SMP,定义了针对多核 CPU 如何共享内存的设计。SMP 使得软件开发变得更加复杂,而且 SMP 工作在 ARM 类型处理器上比 x86 处理器上更具有挑战,x86 测试运行正常的代码可能在 ARM 上可能会执行失败。阅读文章,了解更多 Android 并发编程的知识。

开源项目

  1. AndroidPhotoFilters:PhotoFiltersSDK 旨在提供快速、强大和灵活的图像处理功能,该项目实现了给图片添加滤镜的功能。
  2. App-Architecture:App-Architecture 是一个关于移动应用一整套架构的解决方案开源项目。主要目的是整合流行开发模式,然后形成一个 App 快速开发解决方案。framework 工程实现了主要架构,主要目的是抛开平台相关性。作者的另外一个开源项目GithubIOSClient就使用了该架构。
  3. CarouselLayoutManager:该项目实现了旋转木马风格的 RecyclerView。
  4. AnimatedSvgView:这是一个关于 SVG 动画绘制的开源项目。

感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。