DownOL 软件仓库– 软件下载,字节世界与新知

Android高性能App开发规范要点

发表于:2024-04-29 作者:创始人
编辑最后更新 2024年04月29日,1.尽量少的声明全局变量2.声明全局静态变量,一定要加final声明3.声明非静态的全局变量,最好不要初始化任何值,在使用到的地方,在进行初始化4.函数中若干次使用全局变量,应该将全局变量赋值给本地变

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。

Java 中每个类(包括匿名内部类)都占用至少 500字节左右的代码;

每个类的实例会在 RAM 中占用大约 12 ~ 16 字节的内存;

每向 HashMap 中添加一个 Entry 时,新生成的 Entry 占用大约 32 个字节。

15.尽量避免使用枚举

枚举类型 Enum

会比静态常量占用更多的内存;

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.不要有无用的任何资源或者文件

2022-05-09 21:52:37
0