谷歌官方建议笔记——性能
来源:互联网 发布:ubuntu 14.04安装分区 编辑:程序博客网 时间:2024/05/22 03:24
原文
尽量减少对象的创建,从而减少GC次数。包括:
- 减少不必要的中间变量:包括函数局部变量、返回值等
- 对于String,最好使用substring,此时新的String是原始数据的子集的引用
- int比Integer要快
- 对于一个Bean的数组,可以转变为多个基本类型的数组的集合,减少对象的创建,可以参考ArrayMap
如果不需要访问对象的成员变量,尽量使用static方法。会有15%-25%的性能提升
- 对于基本类型常量,使用static final可以减少一次对象初始化
- 在不用proguard的情况下,在对象内部尽量不用getter/setter,而是直接访问成员变量。getter/setter只是对外接口。没有JIT,能快3倍,有JIT能快7倍。Proguard会自动将getter/setter inline化
- 对于一般for循环,尽量使用for-each。对于数组,尽量使用手写的int i循环。但是要把数组长度提取出来作为局部变量
- 对于内部类访问外部类的private变量,实际上是VM为外部类的成员变量生成了一系列权限为package的getter/setter方法,供内部类使用。此时最佳实践是将外部类成员变量的访问权限设置为package,供内部类直接使用
- 经验上讲,float比int慢两倍。部分处理器上除法可能没有硬件支持
- Iterator(以及使用Iterator的foreach)会严重拖慢代码运行速度,ArrayList上会有2倍的性能差
- Invalidate尽量传入Rect,onDraw时尽量调用Canvas.clipRect(),查看是否需要重绘Canvas.quickReject()
- 在创建对象时,可能由于内存不足被GC阻塞
- 对于autoboxing和unboxing,会有时间和空间的额外开销,对于Map类的,可以转用SparseXXXMap
0 0
- 谷歌官方建议笔记——性能
- 谷歌官方建议笔记——内存
- 谷歌官方建议笔记——布局
- 谷歌官方建议笔记——电量
- 谷歌官方建议笔记——多线程
- 谷歌官方建议笔记——ANR、JNI
- 谷歌官方建议笔记——多线程
- Elasticsearch性能优化官方建议
- ListView性能优化(官方建议Making ListView Scrolling Smooth)
- AndroidTrainingCHS学习笔记 -- 代码性能优化建议
- 笔记45 | 代码性能优化建议[转]
- 性能优化官方文档阅读笔记
- C++编程建议、原则和理念——性能
- 性能优化——内存优化建议(RAM)
- Android性能优化—不建议使用枚举Enum
- 程序猿必知 — 10 条提升 Android 性能的建议
- Android性能优化—不建议使用枚举Enum
- Android性能优化—不建议使用枚举Enum
- json字符串转换为json对象,表单json
- Oracle 11g必须开启的服务及服务详细介绍,oracle的命令大全
- Quick小白书系列(一)Quick的基本结构及如何开始入门
- HDU 1181 变形课
- java将类写入二进制文件(系列化类)
- 谷歌官方建议笔记——性能
- Oracle:让PL/SQL Developer记住登陆密码
- 气候变迁给社会带来什么变化?
- ppt用什么方法可以转换成pdf
- Display tag library 1.2
- delphi 中的 cxgrid运用当中 EXCEL合并形式
- 《数学之美(第二版)》(四)
- 中国特色的流程需求
- Step into Kotlin - 12 - Object 与枚举