android中一些术语:XX的上下文,这个上下文怎么理解?

Context的作用是用来访问全局信息的,比如每个UI组件的构造函数都是要传入一个Context的。拿TextView来打比方:

TextView textView =newTextView(this);textview.setText(R.string.balabala);

这里实例化的时候传入了一个this,这个值就是一个Context。

这里设置了一个在strings.xml文件中预定义的字符串,setText(int resid)函数的源码中是这样的:

publicfinalvoidsetText(intresid){        setText(getContext().getResources().getText(resid));    }

注意这里面使用了getContext()函数去获取全局信息资源,并通过id筛选出自己想要的资源。这里的这个getContext()获取到的上下文,就是我们在实例化TextView时传进去的Context。

所以,Context是用来协助对象访问全局信息的。

使用的时候要尤其注意,Context传出去,使用完要及时释放掉,因为Context是有一个引用抓取着Activity的,如果Activity生命周期结束后还没有及时释放掉Context,很容易造成内存泄露。

你可能感兴趣的:(android中一些术语:XX的上下文,这个上下文怎么理解?)