android性能优化基础篇(循环的优化)
2015-08-24 15:55
417 查看
从Android开发者网址上学习到的性能优化知识。
1.循环遍历的优化
需要对某集合进行循环遍历时,若该数据集实现了Iterable接口,可用增强型的for来进行循环(for-each),而不用手动写length个长度进行一个一个访问。
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; } }
以上例子中,zero的性能最差,one较zero更优,仅仅只是将localArray的length缓存起来了,避免每次都去取一下length;而two的性能最好,即遍历的速度最快。在没有JIT的VM上运行最快,而在有JIT的VM上其与one的性能相当。
相关文章推荐
- Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
- Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)
- Android与设计模式
- Android 监听键盘弹出关闭
- Android项目利用jinkens自动打包
- Android 打包签名(二)
- Android SurfaceView实战 带你玩转flabby bird (上)
- parseSdkContent failed Could not initialize class android.graphics.Typeface
- Android自定义ProgressDialog
- android中跨进程通讯的4种方式
- Android 打包签名(一)
- 关于Android最佳性能实践——高性能编码优化学习笔记
- Ubuntu 14.04配置Android编译环境
- Android ContentProvider使用样例
- Android自定义Dialog
- android 学习 广播机制的使用
- Android 自定义控件 优雅实现元素间的分割线 (支持3.0以下)
- Android平台aac谷歌软解框架和流程、解码库学习
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
- Android时区及语言代码