深入理解 Shared Element Transition (part 3a)

深入理解共享元素 Transition

这篇文章会深度分析共享元素 transitions 和它在 Activity & Fragment Transitions API 中的作用。这篇文章是下面这个系列中的第三篇:

Android Support库 22.1

你可能听过这么一句话 “最好的代码就是没有代码。” 然而我想对你说的是:你写下的每一行代码应该能为应用增加独特的价值,而不是为应用添加一行又一行繁复、无趣的模板代码。Android提供支持库的初衷正是如此:让 Android 开发工程师把精力更多地放在逻辑实现上,而不是写业务代码。

Read More

Square开源库Flow和Mortar介绍

“在 App 开发过程中尽可能使用 Fragment 替代 Activity”,Google 官方的这个建议无疑让万千 Android 开发者开始关注、使用 Fragment。但随着使用 Fragment 的人数增多,Fragment 存在的各种问题也开始暴露,在各种 Android 社区中,已经开始有人质疑用 Fragment 替代 Activity 在应用开发中是否真的像 Google 说的那样有益。质疑 Fragment 的理由大体如下:

Read More

Android性能案例研究续集

两年前,我发表了名为Android Performance Case Study的文章来帮助Android开发者了解什么工具和技术能被应用到识别、追踪和解决性能问题上。

这篇文章的示例程序叫Falcon Pro,是由Joaquim Vergès设计和开发的一个Twitter客户端。感谢Joaquim让我以Flacon Pro为例来处理我做演示。一切都很顺利,直到Joaquim开始开发Falcon Pro 3,在发布他新的应用之前不久,Joaquim因为需要解决一个影响滚动的性能问题他联系到了我(这一次我依然没有他的源码可以参考)。

Read More

开始使用 Transitions(过渡动画) (part 1)

首先

这篇文章主要介绍 Android 5.0 新加入的 Transition (过渡动画) API,这是这个系列的第一篇文章。主要介绍下面几个话题:

FaceBook推出的Android图片加载库-Fresco

在Android设备上面,快速高效的显示图片是极为重要的。过去的几年里,我们在如何高效的存储图像这方面遇到了很多问题。图片太大,但是手机的内存却很小。每一个像素的R、G、B和alpha通道总共要占用4byte的空间。如果手机的屏幕是480*800,那么一张屏幕大小的图片就要占用1.5M的内存。手机的内存通常很小,特别是Android设备还要给各个应用分配内存。在某些设备上,分给Facebook App的内存仅仅有16MB。一张图片就要占据其内存的十分之一。

Read More

深入了解Android Graphics Pipeline-part-2

在上一篇博文中,我们图文结合介绍了 Android 怎么把 onDraw() 方法的 Java 代码转换为 Native 层的 C/C++ 代码。而今天,我们会承接上一篇博文讲的内容,继续探索 Android 在 Native 层是如何通过 C/C++ 代码绘制屏幕上的各种元素(控件、动画等)。在开始讲解之前,我需要提前提醒大家:要深入到 Native 层中研究 C/C++ 代码对 Java 代码的实现,意味着我们从此刻开始要忘掉 Java 安逸的垃圾回收机制,并忍受 C/C++ 代码带来的各种令人蛋疼的内存管理问题。不过大家不必惶恐,我会尽可能简单地讲解今天的内容,而且只会展示与我们今天的内容有关的有趣代码。

Read More