【发布时间】:2014-05-09 02:26:06
【问题描述】:
在某些情况下,为了方便我们使用循环,但也可以“手动”执行一些操作,例如从我的应用处理 MenuItems:
-
我创建了一个
MenuItems 的小数组,然后使用增强的for循环遍历它。MenuItem[] fileActionsToLock ={ mMenu.findItem(R.id.action_share), mMenu.findItem(R.id.action_rename), mMenu.findItem(R.id.action_copy), mMenu.findItem(R.id.action_move) }; for (MenuItem i : fileActionsToLock) { i.setEnabled(false); i.getIcon().setAlpha(100); } -
我将这些值分别应用于每个
MenuItem。mMenu.findItem(R.id.action_share).setEnabled(false); mMenu.findItem(R.id.action_share).getIcon().setAlpha(100); mMenu.findItem(R.id.action_rename).setEnabled(false); mMenu.findItem(R.id.action_rename).getIcon().setAlpha(100); mMenu.findItem(R.id.action_copy).setEnabled(false); mMenu.findItem(R.id.action_copy).getIcon().setAlpha(100); mMenu.findItem(R.id.action_move).setEnabled(false); mMenu.findItem(R.id.action_move).getIcon().setAlpha(100);
由于元素很少,所以在视觉上表现是一样的。
- 但是哪个代码运行得更快,为什么?
- 另外,
fileActionsToLock数组和临时MenuItemi将在哪个时间点被垃圾回收?
【问题讨论】:
标签: java android performance foreach