程序中使用的一段代碼是這樣的:
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));
...
可是第二段代碼真的比第一段代碼高效嗎?這兩種方法編譯器是否生成相同的字節代碼?
直接訪問局部變量要比直接訪問類的字段要快,自然也是比使用getter快。所以第二種方式要高效點。你去看一看《如何成為android高手》這一篇文章,裡面有提到。