Android学习群里有人提问,为什么下面这种场景经常在源码里看到:
private void performTraversals() {
// cache mView since it is used so much below...
final View host = mView;
......
}
其中mView是全局变量,为什么不直接引用呢?
个人理解:方法内部创建的局部变量会保存在局部变量表中,后续在方法里频繁访问的时候直接访问局部变量表就行了,而不需要访问堆。栈的速度比堆快。
网友评论