Android

Android Performance: Overdraw的定位

  Android Performance系列的内容整理自Udacity的Android Performance课程,是对该系列课程的笔记和总结。   过度绘制(Overdraw)指的是一个像素在一帧里被绘制了多次,旧的绘制会被新的绘制覆盖,是无效的,造成对GPU的浪费。Overdraw通常发生于多个元素重合的情况,位于上层的元素会覆盖住下层的元素,使下层的元素不可见,此时如果还对下层元素进行绘制…
Read more

Gradle Cheat Sheet (19): Multidex Support

  在Android的Java虚拟机上运行的是Dalvik字节码,而不是Java字节码。在Java编译完成后,Java字节码会被转换为Dalvik字节码,称为Dexing。在这个过程中,会生成一张包含了应用中的所有方法的表,每个方法用两个字节进行索引,也就是说,最多能有65k个方法。如果方法数量过多,将无法完成编译。   以这里的工程为例,总共有100个类,每个类有700个方法,尝试编译将给出错误…
Read more

Gradle Cheat Sheet (18): Adding a Signing Configuration

  给App签名需要三个步骤:首先需要创建一个Key Store和一个Key;然后在build.gradle中创建一个签名配置,主要用于描述如何访问keystore和key;最后要把这个签名配置指定给Build Type。 1. 创建Key Store和Key   选择Build > Generate Signed APK…,打开Generate Signed APK向导,首先需…
Read more

Gradle Cheat Sheet (15): Flavors

1. Declaring Flavors   除了使用Build Type,也可以使用Product Flavor来对build进行定制。Product Flavor一般用于创建提供给用户的不用应用版本,比如免费版和付费版。   Anroid插件不会自动创建默认的Product Flavor。要创建Product Flavor,只需在productFlavors {} 块中进行定义,如: andr…
Read more

Gradle Cheat Sheet (12): Advanced Gradle Wrapper

  Gradle Wrapper可以自动下载特定版本的Gradle,使得用户不需要手动下载和安装Gradle,并确保所有人都能使用相同版本的Gradle来build当前项目。   可以使用wrapper 生成Gradle Wrapper: $ gradle wrapper   Gradle Wrapper包含四个文件,一个.jar文件,一个.properties文件,用于Unix/Mac的Shel…
Read more