Android 开发周报:谷歌 Play 商店将采用新的评级系统

  • 郭亮

2015 年 4 月 2 日

话题:移动Android语言 & 开发文化 & 方法

新闻

  1. 《谷歌 Play 商店将采用新的评级系统》:谷歌 Play 商店采用了新的评级系统,在此评级系统下,商店当中的应用程序和游戏,不再采用一个全球标准来评级,而是将基于它们针对的地区和年龄组进行评级,将反映出不同地区用户的喜好。新的评级系统生效之后,开发者在提交应用程序和游戏之前,谷歌将发放一份问卷给开发者,让他们自己指定产品的等级,提交之后,除了谷歌自己进行评级之外,还邀请了来自世界各地的不同评级机构进行监督。
  2. 《谷歌欲在 Play 商店推搜索广告》:谷歌在今年年初就宣布将开始在 Google Play 商店里测试搜索广告,这项举措将可以为谷歌提供一个新的收入来源。不过,瑞士信贷的分析师则认为,这将对 Android 开发者造成负面的影响。
  3. 《市场统计报告结论:Android 大军正在变成果粉》:国外知名的市场统计机构 Cowen&Company 发布了一份报告,数据得出结论,即在进入 2015 年之后将会有越来越多的 Android 用户转向 iPhone 阵营。

教程

  1. 《一个绚丽的 loading 动效分析与实现》:Android 中的动画实现主要有两种方式,一种是通过系统提供的 Api,然后配合 xml 可以实现一些复杂的效果,比如 Path2.0 的菜单动画效果。另一种方式就是通过代码手动去绘制。绘制复杂的动画不仅需要绘图知识,并且还得有一定的数学功底,至少中学时学过的正余弦得记得。本文介绍了如果手动去绘制复杂动画。我们可以参考作者的思路,实现更绚的动画。
  2. 《深入了解 Bundle 和 Map》:大家都知道,在 Android 系统中所有进程间通信都是基于 Binder 机制。但允许数据在进程间传递是基于 Parcel。如果你在 Intent 对象中附加一个 Map 最常见的接口实现类 HashMap,在接收的 Activity 里,可以毫无问题地取出之前在 Intent 中附加的 Map,但如果附加的是一个 TreeMap,则会出现 ClassCastException 异常。本文深度分析了上述现象。原文地址
  3. 《Android Support 兼容包详解》:本文主要回答了知乎上的一个问题:Android 中 AppCompat 和 Holo。我们知道 Android 一些 SDK 比较分裂,为此 Google 官方提供了 Android Support Library package 系列的包来保证高版本 sdk 开发的向下兼容性, 所以你可能经常看到 v4,v7,v13 这些数字。但很多人对这些兼容包搞不清楚,作者详细介绍了这些版本的区别。
  4. 《1 像素悬浮窗》:本文是来自小米工程师的一篇文章。文章分析了某知名浏览器和聊天工具检测一些用户行为的原理。这类型的应用可以实现当在任何界面上复制内容时,都会弹出对话框,而且不会被系统监控到。实现原理也并不复杂,主要是利用 Android 的悬浮窗技术,然后利用特殊的权限可以绕过 Android 的权限管理机制。小编最后提醒各位开发者:1 像素悬浮窗技术还是要慎用。
  5. 《深入理解 Android 之设备加密 Device Encryption》:Android 从 4.4 开始就支持一项功能,那就是对设备进行加密。加密自然是为了安全性考虑,由于 system 目录是只读的,手机里那些存储设备分区中需要保护的就剩下 data 分区和 sdcard 了。显然,data 和 sdcard 大量存储了用户数据(比如 App 运行时存储的数据),对他们进行加密非常非常有必要。Android 5.0 发布后,设备加密功能默认是启用状态。本文分析了系统中与设备加密工作相关的流程。
  6. 《内存管理 -Android 内存泄露分析》:当你不再需要某个实例后,但是这个对象却仍然被引用,防止被垃圾回收,这个情况就叫做内存泄露(Memory Leak)。内存泄漏潜在危害非常大,比如无意泄漏了一个 Drawable,它可能只有几百 K 的占用,但是由于它一般会引用 View,就意味着同时泄漏了 View,Context,Activity 以及 Activity 中的 resource,这个内存的泄漏就非常可观了。Activity 中防止内存泄露的关键只有一个:及时回收不再使用的资源。作者写了三篇文章介绍 Android 中的内存管理知识。
  7. 《Android Studio 系列视频》:该视频教程是由 Google Developers 录制的关于 Android Studio 的高质量教程。视频介绍了为什么你应该尽快使用 Android Studio。该视频教程目前共有 3 集,分别是关于 Android Studio 介绍、Layout Editor、Gradle。视频教程是全英文,欢迎广大开发者进行字幕翻译。

开源项目

  1. Network Connection Class:该项目是 Facebook 开源的,提供了 Android 设备网络环境监控的功能。程序中调用项目中提供的 Api,就可以计算出当前网络的质量,从而针对不同的网络环境采取不同的处理方法。比如当网络不太流畅时可以去加载低质量的图片、视频等,这样不仅有助于缓解服务器压力,还能够提升用户体验。
  2. DaVinci:关于 Android Wear 的开源基础库目前还比较少,DaVinci 提供了 Android Wear 上图片的下载和缓存功能。Davinci 支持加载本地图片和网络图片,提供了加载回调接口、预加载功能。开发者需要使用 Gradle 集成。
  3. Fresco:Fresco 是一款功能强大的图片加载库,也是出于 Facebook 的工程师之手。Fresco 提供了图片的下载、缓存功能。使用 Fresco 可以使你的应用程序运行的更快,并且不容易出现 OOM 错误。由于 Facebook 客户端会处理大量的图片,所以其必然会做最优处理。可想而知该项目的质量要高于同类型的其它项目。这里是 Fresco 的中文文档

工具

  1. logger:logger 是一款功能强大、界面漂亮的日志工具。Android 自带的日志工具功能比较单一,只能是自己通过设置 Level 或 Tag 来过滤。 logger 在已有的基础上还提供了更多的功能:显示类、方法、线程、行号、格式化 JSON 等。此工具应该成为每个 Android 开发者的必备利器。
  2. Android SDK 墙内更新工具:国内 Android 开发者最痛苦的事情莫过于升级 SDK 时的那个慢了。现在我们可以通过设置代理从国内的服务器上直接下载镜像。文章中提供了多个镜像地址,开发者可以选择速度最快的去下载。

感谢徐川对本文的审校。

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

移动Android语言 & 开发文化 & 方法