1.尽量少的声明全局变量
2.声明全局静态变量,一定要加final声明
3.声明非静态的全局变量,不要初始化任何值,在使用到的地方,再进行初始化
4.函数中若干次使用全局变量应该将全局变量赋值给本地变量直接使用本地变量
5.能用Int,不要使用浮点数
6.能用乘法不用除法
7.尽量避免使用geter和setter方法
8.在Activity的onCreate函数中,尽量做少的事
9.在Activity中声明的静态数组或者静态代码块,重构到单独的一个类里。
10.布局文件要尽可能的优化,减少布局的解析时间,尽量减少布局的嵌套层次
如包含一个ImageView和TextView的线性布局可以用CompoundDrawable
的TextView来代替,不要给布局写无用的参数
11.Activity启动后开始进行异步线程的加载,最好delay一下,再开启线程
12.使用线程,一定要给它传一个名字,然后需要定义线程的优先级
13.在使用集合的时候,优先选择SparseArray来代替HashMap,Java中每个类
(包括匿名内部类)都占用至少 500字节左右的代码;每个类的实例会在RAM
中占用大约12~16 字节的内存;每向 HashMap 中添加一个Entry时,新生
成的Entry占用大约32个字节
14.尽量避免使用枚举枚举类型 Enum 会比静态常量占用更多的内存
15.线程间同步尽量使用开销小的同步锁
16.在使用集合类的时候,如果已知数据的规模,在初始化的时候,就设定好默认
大小
17.对于开销大的算法,且不止是执行一次的,要使用缓存策略
18.避免在绘制或者解析布局的时候,分配对象。例如onDraw方法
19.如果LinearLayout用于嵌套的layout空间,为了加速layout的计算,它的
android:baselineAligned设置为false
20.用FloatMath代替Math
21.如果为rootView设置了背景,那么会先用Theme指定的背景绘制一遍,然后
才用指定的背景绘制,这叫做"overdraw",可以通过theme的background为
null来避免
2.声明全局静态变量,一定要加final声明
3.声明非静态的全局变量,不要初始化任何值,在使用到的地方,再进行初始化
4.函数中若干次使用全局变量应该将全局变量赋值给本地变量直接使用本地变量
5.能用Int,不要使用浮点数
6.能用乘法不用除法
7.尽量避免使用geter和setter方法
8.在Activity的onCreate函数中,尽量做少的事
9.在Activity中声明的静态数组或者静态代码块,重构到单独的一个类里。
10.布局文件要尽可能的优化,减少布局的解析时间,尽量减少布局的嵌套层次
如包含一个ImageView和TextView的线性布局可以用CompoundDrawable
的TextView来代替,不要给布局写无用的参数
11.Activity启动后开始进行异步线程的加载,最好delay一下,再开启线程
12.使用线程,一定要给它传一个名字,然后需要定义线程的优先级
13.在使用集合的时候,优先选择SparseArray来代替HashMap,Java中每个类
(包括匿名内部类)都占用至少 500字节左右的代码;每个类的实例会在RAM
中占用大约12~16 字节的内存;每向 HashMap 中添加一个Entry时,新生
成的Entry占用大约32个字节
14.尽量避免使用枚举枚举类型 Enum 会比静态常量占用更多的内存
15.线程间同步尽量使用开销小的同步锁
16.在使用集合类的时候,如果已知数据的规模,在初始化的时候,就设定好默认
大小
17.对于开销大的算法,且不止是执行一次的,要使用缓存策略
18.避免在绘制或者解析布局的时候,分配对象。例如onDraw方法
19.如果LinearLayout用于嵌套的layout空间,为了加速layout的计算,它的
android:baselineAligned设置为false
20.用FloatMath代替Math
21.如果为rootView设置了背景,那么会先用Theme指定的背景绘制一遍,然后
才用指定的背景绘制,这叫做"overdraw",可以通过theme的background为
null来避免