(装)Android高性能编程基本规范

最近总结了一些,Android应用开发中,需要注意的一些事项,与大家分享
 
 
1.尽量少的声明全局变量
 
2.声明全局静态变量,一定要加final声明
 
3.声明非静态的全局变量,最好不要初始化任何值,在使用到的地方,在进行初始化
 
4.函数中若干次使用全局变量,应该将全局变量赋值给本地变量,然后直接使用本地变量
 
5.能用Int,不要使用浮点数 
 
6.能用乘法不用除法
 
7.尽量避免使用geter和setter方法
 
8.在Activity的onCreate函数中,尽量做少的事。
 
9.在Activity中声明的静态数组或者静态代码块,重构到单独的一个类里。
 
10.布局文件要尽可能的优化,减少布局的解析时间 。 尽量减少布局的嵌套层次
 
11.Activity启动后开始进行异步线程的加载,最好delay一下。再开启线程
 
12.对于存在于集合中的Bean对象,尽可能少的声明变量。能用int 就不要用long.声明的string等复杂变量,最好不要进行初始化。
 
13.使用线程,一定要给它传一个名字,然后需要定义线程的优先级
 
14.在使用集合的时候,优先选择SparseArray。
 
15.尽量避免使用枚举
 
16.工具方法尽量写成是静态方法
 
17.线程间同步尽量使用开销小的同步锁
 
18.在使用集合类的时候,如果已知数据的规模,在初始化的时候,就设定好默认大小。
 
19.私有内部类访问外部类的私有变量,要将变量修改为包继承权限
 
20.对于开销大的算法,且不止是执行一次的,要使用缓存策略
 
21.避免在绘制或者解析布局的时候,分配对象。例如onDraw方法
 
22.不要给布局写无用的参数,例如RelativeLayout,写layout_weight属性
 
23.尽量减少布局的嵌套层数。例如包含一个ImageView和TextView的线性布局,可以用CompoundDrawable的TextView来代替
 
24.尽量用Android提供的SparseArray来代替HashMap
 
25.如果LinearLayout用于嵌套的layout空间计算,它的android:baselineAligned设置为false,可以加速layout计算
 
26.用FloatMath代替Math
 
27.尽量避免嵌套的使用layout_weight,那样会影响执行效率
 
28.如果为rootView设置了背景,那么会先用Theme指定的背景绘制一遍,然后才用指定的背景绘制,这叫做"overdraw",可以通过theme的background为null来避免
 
29.不要有无用的任何资源或者文件
 
摘自:http://blog.csdn.net/litton_van/article/details/21956859
原文地址:https://www.cnblogs.com/antyi/p/4500722.html