写点什么

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

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

2015 年 10 月 22 日 19:003070
用户头像

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

关注

评论

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

Code Like Sync, Works Like Async

滴滴普惠出行

架构师训练营第一期-第一周课后 - 作业二

食堂就餐卡系统设计 UML 练习

escray

学习 极客大学架构师训练营 UML

智能门禁的音视频技术应用

anyRTC开发者

音视频 WebRTC 直播 RTC

分布式系统:数据一致性解决方案

马迪奥

分布式事务 一致性

Rust闭包的虫洞穿梭

袁承兴

rust 函数式编程 闭包

面试官:哪些场景会产生OOM?怎么解决?

艾小仙

Java 架构 面试 编程语言 JVM

百度大脑助力旅游场景智能解决方案落地

百度大脑

Java基础知识面试题(2020最新版)

Java架构师迁哥

GrowingIO 智能运营产品微前端实践

GrowingIO技术专栏

微前端 智能运营

百度大脑事件图谱:洞察复杂世界中的事件知识

百度大脑

git的几种实用操作(合并代码与暂存复原代码)

良知犹存

git

关于性别

北宋

值得学习!阿里P8架构师“墙裂”推荐:Java程序员必读的架构书籍

Java成神之路

Java 编程 程序员 面试 书籍

京东T8Java架构师总结整理的15w字的Java面试手册,持续更新

Java成神之路

Java 编程 程序员 面试 JVM

OBS鉴权实现的宝典秘籍,速拿!

华为云开发者社区

OBS 签名

AWS在线技术峰会2020探班回顾,四大看点不容错过

小红豆

云计算 AI 云原生 金融 医疗

两月复习拿到阿里offer(Java开发),分享我的复习思路及资源

Java成神之路

Java 编程 程序员 面试 JVM

Apache Pulsar 社区周报|09-05 ~ 09-11

Apache Pulsar

开源 云原生 Apache Pulsar 消息中间件

餐卡系统设计文档

追风

JDK15正式发布,划时代的ZGC同时宣布转正

YourBatman

ZGC JDK15

第一周作业,UML图

等燕归

架构师训练营第一期-第一周课后-作业一

我擦~字符串转字节切片后,切片的容量竟然千奇百怪

新世界杂货铺

golang 后端 后端开发

2020年6月最新iOS面试题总结

iOSer

ios 2020 面试题 经验总结

同城快递订单系统架构设计方案

周冬辉

学习笔记丨浮点数探究

Liuchengz.

C语言 基本数据类型

Linux一键部署包,环境安装不用愁!!!

不才陈某

程序员 「Java 25周年」

Copy攻城狮辛酸史:含泪“一分钟”跑通MindSpore的LeNet模型

华为云开发者社区

学习 程序员 mindspore

卧槽!牛逼了!40K+Star!Mall电商实战项目开源回忆录!附源码、教程合集

云流

学习 架构师 计算机 程序员成长

正则表达式

菜鸟小sailor 🐕

爬虫

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