android 应用性能优化
2016-06-30 16:51
489 查看
android性能优化,写代码时要遵循两个准则:
不做没有用的工作。
不创建没有用的内存。
最好不要创建不必须的对象:
比如你要对一个字符串进行拼接或者截取的话,就不要用String了,最好使用StringBuffer。
多用静态方法
如果你并不需要访问一个对象的属性,那么就把方法做出static,这样会提高15-20%的访问速度。
对于常量值多用static final修饰
避免使用getter和setter方法,android中处理这种方式比较消耗资源。
多用for——each循环
速度排名:第一名two(),第二名one(),第三名zero();
避免使用内部类
优先使用double类型而不是float型数据
慎重使用Native方法,java和c++之间的传输也是很耗资源的,jni不一定能提高应用的速度。
泛型之间的转换也是需要消耗资源,虽说不是特别的明显,例如HashMap比Map快6%;
不做没有用的工作。
不创建没有用的内存。
最好不要创建不必须的对象:
比如你要对一个字符串进行拼接或者截取的话,就不要用String了,最好使用StringBuffer。
多用静态方法
如果你并不需要访问一个对象的属性,那么就把方法做出static,这样会提高15-20%的访问速度。
对于常量值多用static final修饰
避免使用getter和setter方法,android中处理这种方式比较消耗资源。
多用for——each循环
static class Foo { int mSplat; } Foo[] mArray = ... public void zero() { int sum = 0; for (int i = 0; i < mArray.length; ++i) { sum += mArray[i].mSplat; } } public void one() { int sum = 0; Foo[] localArray = mArray; int len = localArray.length; for (int i = 0; i < len; ++i) { sum += localArray[i].mSplat; } } public void two() { int sum = 0; for (Foo a : mArray) { sum += a.mSplat; } }
速度排名:第一名two(),第二名one(),第三名zero();
避免使用内部类
优先使用double类型而不是float型数据
慎重使用Native方法,java和c++之间的传输也是很耗资源的,jni不一定能提高应用的速度。
泛型之间的转换也是需要消耗资源,虽说不是特别的明显,例如HashMap比Map快6%;
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories