Android 代码性能优化技巧

目前,Android2.2的JIT性能已经大幅提升,但对于旧版本的程序来说,提高Java执行的效率,还有很多语言功能。

今天Android123提到的不是语法糖,但基本问题是Java1.5之后会有明显的改进。以下示例来自SDK:static

Android


Foo类{
IntmSplat;
}
Foo[]mArray=…上面的静态类Foo的性能和性能,我们比较了零,一和二三种方法。
Publicvoidzero(){//大多数人可能只是这样写
Intsum=0;
For(inti=0;i<mArray.length;++i){
Sum+=mArray.mSplat;
}
}
Publicvoidone(){//提高本地对象的性能
Intsum=0;
Foo[]localArray=mArray;
Intlen=localArray.length;
For(inti=0;i<len;++i){
Sum+=localArray.mSplat;
}
}
Publicvoidtwo(){//推荐方法,可以通过Java1.5的新语法功能大大提高性能
Intsum=0;
For(Fooa:mArray){
Sum+=a.mSplat;
}
}
Zero()是最慢的,因为JIT还不能优化获取数组长度的成本
循环中的每次迭代。one()更快。它把所有东西都拉成局部变量,避免了
查找。只有阵列长度才能提供性能优势。对于没有JIT的设备,two()最快,并且
与具有JIT的设备的one()无法区分。它使用版本中引入的增强型for循环语法
1.5Java编程语言。

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章