美文网首页
很多源码里为什么将全局变量拷贝一份到方法体里

很多源码里为什么将全局变量拷贝一份到方法体里

作者: 拿拿guardian | 来源:发表于2020-07-16 20:30 被阅读0次

Android学习群里有人提问,为什么下面这种场景经常在源码里看到:

private void performTraversals() {
        // cache mView since it is used so much below...
        final View host = mView;
        ......
}

其中mView是全局变量,为什么不直接引用呢?

个人理解:方法内部创建的局部变量会保存在局部变量表中,后续在方法里频繁访问的时候直接访问局部变量表就行了,而不需要访问堆。栈的速度比堆快。

相关文章

  • 很多源码里为什么将全局变量拷贝一份到方法体里

    Android学习群里有人提问,为什么下面这种场景经常在源码里看到: 其中mView是全局变量,为什么不直接引用呢...

  • linux下载安装redis

    ---官网下载源码,解压,进入到目录,make PREFIX /dir install,之后将conf文件拷贝到...

  • Android调用Unity场景的使用步骤

    第一步:拿到Unity的项目,将assets拷贝到Android项目里的src/main下,将res下面的文件拷贝...

  • org.apache.spark.sql.AnalysisExc

    1、将hive-site.xml拷贝到$SPARK_HOME/conf里 2、将/mysql-connector-...

  • Go语言常用内置函数

    一、copy函数该函数主要是切片(slice)的拷贝,不支持数组将第二个slice里的元素拷贝到第一个slice里...

  • Day9-函数基础

    一、浅拷贝和深拷贝 拷贝:将变量中的值赋值一份,产生新的数据。然后将新的数据对应的地址返回。 浅拷贝:直接拷贝地址...

  • 10.10 day9 函数基础

    1.浅拷贝和深拷贝 拷贝: 将变量中的值赋值一份,产生新的数据,然后将新的数据对应地址返回浅拷贝:直接拷贝地址(切...

  • 2018-10-10 day9 总结 函数基础

    1.浅拷贝和深拷贝 拷贝:将变量中的值赋值一份,产生新的数据,然后将新的数据对应的地址返回浅拷贝:直接拷贝地址(切...

  • vs code 中解决无法查看jkd源码的问题

    查看jkd源码只能够返回方法体,方法体中的具体实现都没有,给看jkd的源码造成了很多的方法,于是在网上找了很久没有...

  • CentOS7.3安装jdk1.8

    一、源码包准备: 二、解压源码包: 1.在/usr/local目录下新建java文件夹 2.将下载到压缩包拷贝到j...

网友评论

      本文标题:很多源码里为什么将全局变量拷贝一份到方法体里

      本文链接:https://www.haomeiwen.com/subject/vxvmhktx.html