ThreadLocal使用说明

让变量只能在这个线程内被读写,在其他线程内无法被访问.以键值对存放变量,并继承弱应用,内存随时会被回收,用完要remove不然会内存泄漏,使用的时候直接设置值就可以了,键就是ThreadLocal本身,所以一个ThreadLocal只有一个值,但是可以有多个ThreadLocal

public class MainActivity extends AppCompatActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ThreadLocal<String> mLocal = new ThreadLocal<String>(){
            @Override
            protected String initialValue(){
                return "init value";
            }
        };
        System.out.println(mLocal.get());
        mLocal.set("设置");
        System.out.println(mLocal.get());
    }
}

可以看一下ThreadLocal源码,按住ctrl鼠标左击ThreadLocal,如果没有出现就是没有安装resource源码包,打开sdkmanager勾选安卓9.0然后apply

猜你喜欢

转载自www.cnblogs.com/Ocean123123/p/11039050.html