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

jopen 9年前

 

新闻

  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安装到手机上,从而进行开发调试。利用该技术,甚至能实现远程调试。