再论性能优化

来源:互联网 发布:电脑免费恢复数据软件 编辑:程序博客网 时间:2024/06/11 07:55
- 采用硬件加速,在清单文件中`application`节点添加`android:hardwareAccelerated=”true”`。不过这个需要在`android 3.0`才可以使用。`android4.0`这个选项是默认开启的。
- `View`中设置缓存属性`setDrawingCache`为`true`.
- 优化你的布局.
- 动态加载`View`. 采用`ViewStub`避免一些不经常的视图长期握住引用.
- 将`Acitivity`中的`Window`的背景图设置为空。`getWindow().setBackgroundDrawable(null);``android`的默认背景不是为空。
- 采用`<merge>`优化布局层数。 采用`<include>`来共享布局。
- 利用`TraceView`查看跟踪函数调用。有的放矢的优化。
- `cursor`的使用。不过要注意管理好`cursor`,不要每次打开关闭`cursor`.因为打开关闭`Cursor`非常耗时。 `Cursor.require`用于刷`cursor`.
- 采用`SurfaceView`在子线程刷新`UI`, 避免手势的处理和绘制在同一`UI`线程(普通`View`都这样做)。
- 采用`JNI`,将耗时间的处理放到`c/c++`层来处理。
- 有些能用文件操作的,尽量采用文件操作,文件操作的速度比数据库的操作要快10倍左右。
- 避免创建不必要的对象
- 如果方法用不到成员变量,可以把方法申明为`static`,性能会提高到15%到20%
- 避免使用`getter/setter`存取`field`,可以把`field`申明为`public`,直接访问
- `static`的变量如果不需要修改,应该使用`static final`修饰符定义为常量
- 使用增强`for`循环,比普通`for`循环效率高,但是也有缺点就是在遍历 集合过程中,不能对集合本身进行操作
- 合理利用浮点数,浮点数比整型慢两倍;
- 针对ListView的性能优化
0 0
原创粉丝点击