精通 CoordinatorLayout Behavior

rain | 移动 | 2016-03-18
精通 CoordinatorLayout Behavior
CoordinatorLayout 是 Android Design Support Library 的重要控件之一,Design 库中的很多控件都要依赖 CoordinatorLayout。CoordinatorLayout 本身只是继承自 FrameLayout,并没有什么特殊的,魔法来自于 CoordinatorLayout.Behavior。通过把一个 Behavior 添加到 CoordinatorLayout 的直接子 View 上,可以通过该 Behavior 来拦截点击事件、window ... [阅读全文]

该使用 fitsSystemWindows 了!

rain | 移动 | 2016-03-18
该使用 fitsSystemWindows 了!
根据最新的 Android 版本统计,4.4 以上的系统已经占有 70% 的份额了,现在新出厂的手机,只要不是500块钱以内的山寨手机也都是 5.0 系统了。所以是时候使用 fitsSystemWindows 属性了。 fitsSystemWindows 是在 android 4.4 中引入的。 System windows 顾名思义就是系统窗口,系统在这里显示系统一些属性和操作区域,比如 最上方的状态栏,以及没有实... [阅读全文]
ė 0

掌握 Java 8 Lambda 表达式

rain | 移动 | 2016-03-16
Lambda 表达式 是 Java8 中最重要的功能之一。使用 Lambda 表达式 可以替代只有一个函数的接口实现,告别匿名内部类,代码看起来更简洁易懂。Lambda 表达式 同时还提升了对 集合 框架的迭代、遍历、过滤数据的操作。 匿名内部类 在 Java 世界中,匿名内部类 可以实现在应用程序中可能只执行一次的操作。例如,在 Android 应用程序中,一个按钮的点击... [阅读全文]
ė 0,

apk 瘦身系列⑧:Native libraries 优化

rain | 移动 | 2016-03-11
如果你的应用使用了大量的 so 文件,则本篇文章适合你。 C/C++ 有很多优化技巧可以让 .so 文件变得更小,本文不讨论这些内容。本文只介绍如何在 Android 中让 so 文件占用更少的空间。 在 Android 6.0 之前, so 文件会压缩到 apk 中,系统在安装应用的时候,会把 so文件解压到 data 分区,这样同一个 so 文件会有两份存在,一个在 apk 中一个在 data... [阅读全文]
ė 0

apk 瘦身系列⑦:图片优化、Shape 和 VectorDrawables

rain | 移动 | 2016-03-11
普通的图片格式资源 JPEG、 PNG 和 WebP 非常适合某些类型的资源,但是他们有两个主要的缺点--所占用的空间和需要多个图片来适配不同的屏幕密度。所以为了避免这些缺点,对于一些特定类型的图标和 UI 元素可以使用 XML 的方式来创建基本形状 drawable。 Shape Drawable 从 Android 发布就支持 Shape drawable。在 xml 文件中定义基本的形状,比如 矩... [阅读全文]

apk 瘦身系列⑥:图片优化、Zopfli & WebP

rain | 移动 | 2016-03-11
每个应用都会包含一些图片资源。图片资源在两方面影响一个程序所占用的空间:一,图片资源打包到 apk 中;二,应用从网络上下载图片并保存在本地。本章所讨论的优化策略适用于这两种情况。 常用的图片格式为 JPEG 和 PNG。这两种类型的区别: JPEG 通常应用于背景图和内容图片。不支持透明色。不同的压缩等级和质量对最终图片的大小有很大影响,如... [阅读全文]

apk 瘦身系列⑤:使用 product flavors 来发布多个 apk

rain | 移动 | 2016-03-11
在前面一篇文章中介绍了如何使用 splits 来生成不同屏幕密度和 apu 架构的 apk。其实还有一种更加方便的生成多个 apk 的方式:product flavors。 Build 系统使用 product flavors 来生成不同版本的 app。每个版本都可以包含不同的功能, 比如 免费版有广告而付费版没有广告并且带有高级功能。 使用 flavors 也可以达到 splits 的效果。可以把每... [阅读全文]
ė 0,

apk 瘦身系列④:使用分割ABI 和 屏幕密度的方式来发布多个 apk

rain | 移动 | 2016-03-11
Android 是一个种类繁多的开放生态系统,设备从手表、手机到平板以及电视。每种设备都有自己特有的硬件设备,例如 屏幕大小、屏幕密度和 CPU 架构。 尽管在开发中我们建议使用一个 apk 来支持尽可能多的设备。如果你的 apk 非常大, 分开发布不同类型的 apk 可以节省很多空间。这样的话, 如果用户使用一个 ARM 处理器的手机将不用下载用于 x86 cpu 的... [阅读全文]
ė 0, ,
Ɣ回顶部