为了账号安全,请及时绑定邮箱和手机立即绑定

申明一个局部变量并且设置一次,比多次使用getter更有效?

申明一个局部变量并且设置一次,比多次使用getter更有效?

三国纷争 2019-03-19 16:15:21
程序中使用的一段代码是这样的:    x.add(getResources().getString(R.string.none));     x.add(getResources().getString(R.string.today));     x.add(getResources().getString(R.string.tomorrow));     ...看着很低效,觉得应该可以更简化一些,然后我把代码变成Resources res = getResources(); x.add(res.getString(R.string.none)); x.add(res.getString(R.string.today)); x.add(res.getString(R.string.tomorrow)); ...可是第二段代码真的比第一段代码高效吗?这两种方法编译器是否生成相同的字节代码?
查看完整描述

2 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

直接访问局部变量要比直接访问类的字段要快,自然也是比使用getter快。所以第二种方式要高效点。你去看一看《如何成为android高手》这一篇文章,里面有提到。


查看完整回答
反对 回复 2019-04-26
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

编辑器不会产生相同的字节码,但是如果getResources()是一个简单的方法,然后JIT-compiler在执行时间可以有效地运行相同的代码。
就我个人而言,我更喜欢第二种方法,因为它更清楚更可读。

查看完整回答
反对 回复 2019-04-26
  • 2 回答
  • 0 关注
  • 416 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号