Android 开发周报:Google Play 推新功能、Android GC 详解

阅读数:2767 2015 年 10 月 22 日

新闻

  1. 《Google Play 推出新功能 帮助开发者获取有效用户》:现在越来越多的 App 开始走向国际化,Google Play 是国外最大也是最主要的应用分发市场。在今年五月的 Google I/O 大会上,Google 提前公布了一批功能强大的新开发工具,利用这些工具可以帮助 Google Play 上的开发者扩大自身业务并提升决策水平。近日,这些新功能已在 Google Play 开发者控制台正式上线。 注册过 Google Play 的开发者也应该收到了相关推送邮件。
  2. 《谷歌或年底回归》:10 月 17 日消息,据开发者谷歌员工称,Google 计划在年底前彻底并轨国际和中国版的 Google Play 服务,并着手解决普通 Android Wear 的应用无法兼容中国版的窘境。
  3. 《YunOS 系统宣布开放平台》:YunOS 开放平台整合了阿里巴巴旗下优势资源,包括电商、大数据资源和云计算能力,向 YunOS 开发者和服务提供商提供全链路解决方案。面向移动开发者,面向移动开发者,YunOS 提供了开发支持、质量保证和运营推广三项服务,让开发者可以更加便捷地开发 Cloudcard 服务和卡片、本地应用及 Web 应用。

教程

  1. 《Android Performance Patterns》:(墙)Android Performance Patterns 是 Google 官方推出的关于 Android 应用性能优化的系列视频,目前已经更新到了第四季。
  2. 《安装包立减 1M-- 微信 Android 资源混淆打包工具》:在之前的周报中提到过微信团队关于减少安装包大小的一些 Tips,本文主要对上篇文章中提到的资源混淆做了简单的分析。微信中的资源混淆工具主要为了混淆资源 ID 长度(例如将 res/drawable/welcome.png 混淆为 r/s/a.png),同时利用 7z 深度压缩,大大减少了安装包体积,同时也增加了逼格,提升了反破解难度。阅读文章,了解资源混淆技术原理。
  3. 《Android GC 那点事》:本文是来自 QQ 空间团队关于垃圾回收研究的技术文章。做 Android 开发的同学几乎都遇到过 OOM、滑动卡顿、图片丢帧等问题。如果你不了解 Java、Android 内存回收的原理,那么即使解决了这些 GC 问题,也只是暂时的,再出现问题时依然需要 Google。本文从 JVM 内存回收机制、Dalvik 虚拟机、ART 内存回收机制、Dalvik GC 日志四方面分析了 Android GC。详细讲解了内存分配和 GC 的原理,为什么会不断的 GC, GC ALLOC 和 GC COCURRENT 有什么区别,如何扩大堆内存减少 GC 的频次等等。
  4. 《Android 5.0 屏幕录制漏洞(CVE-2015-3878)威胁预警》:Android 5.0 新增的屏幕录制接口,只需要调用系统 API 即可实现屏幕录制功能。当应用需要录制屏幕时,系统会弹一个授权框,当应用名称足够长时,“将开始截取您的屏幕上的所有内容。”这段提示语将不再显示在 AlertDialog 中的可视范围内,从而导致手机用户只是看到了一串长长的应用名,而没有看到系统真正想要提示用户的“有软件将要录屏”这样的重要提示信息。本文详细介绍了漏洞原理、使用场景及如何防范。
  5. 《Android Activity 应用窗口的创建过程分析》:所谓的窗口(Window)就是一个显示在手机屏幕上可视化视图的一片区域。在 Android 中窗口是一个抽象的概念,每一个 Activity 就对应着一个窗口,而所有的窗口都是由视图(View)来呈现,而我们知道 View 构成的一个树形结构的视图就组成了一个 Activity 的界面了。在 Android 系统中窗口分为三个类型:应用窗口、子窗口、系统窗口。本文讲解了 Activity,Window,WindowManager 三者的关系以及 Activity 窗口的创建过程。
  6. 《 Android 对话框 Dialog,PopupWindow,Toast 的实现机制》:Android 开发中经常会使用到 Dialog,PopupWindow,Toast 等对话框来作为提示信息或者和用户交互。然而这些对话框其实都是窗口,它们的创建和移除机制也就是 Android 系统对窗口的添加和删除的过程了。这篇博客从源码角度来分析 Dialog,PopupWindow,Toast 的实现原理。

开源项目

  1. Google I/O 2015 Android App:近日谷歌开放了 Google I/O 2015 App 源码,Google 希望 I/O App 源码对开发者有所帮助。
  2. AndResGuard:这是微信团队开放的 Android 述资源混淆组件,资源混淆组件不涉及编译过程,只需输入一个 Apk(无论签名与否,debug 版,release 版均可,在处理过程中会直接将原签名删除),可得到一个实现资源混淆后的 Apk。
  3. JianDan-React-Native:使用 React Native For Android 实现的煎蛋 App。目前使用该技术的开源 App 还比较少,大家都是在研究阶段,完整 App 对于新手学习有一定帮助,相信用不了多久便会有更多关于 React Native 的开源项目。
  4. android-vertical-slide-view:这是仿照淘宝和聚美优品商品详情页的一个项目。实现的效果是:向上拖动时,可以加载下一页。项目使用了 ViewDragHelper,滑动很流畅。
  5. TextSurface:效果非常弦的一款 TextView 动画组件。

工具

  1. AndroidWiFiADB:进行 Android 开发的时候,首先需要将手机的调试模式打开,然后将手机连接到电脑。时间长了,有的手机 USB 尾座都开始接触不灵。AndroidWiFiADB 是一个 IntelliJ/AndroidStudio 插件,可以让你的手机通过 WiFi 将 App 安装到手机上,从而进行开发调试。利用该技术,甚至能实现远程调试。

感谢郭蕾对本文的审校。

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

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论