在Android中,Context是一個(gè)抽象類,提供了許多應(yīng)用程序相關(guān)的功能。要獲取Context,您可以使用以下方法:
Context context = new Context();
但是,這種方法在實(shí)際應(yīng)用中并不常用,因?yàn)樗粫?huì)提供很多有用的功能。
this
關(guān)鍵字來獲取Context實(shí)例。例如:public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Context context = this;
}
}
在這種情況下,this
關(guān)鍵字指向當(dāng)前的Activity實(shí)例,您可以使用它來訪問Context相關(guān)的功能。
getApplicationContext()
方法來獲取一個(gè)全局的Context實(shí)例。例如:public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
}
public static Context getContext() {
return getApplicationContext();
}
}
然后,在需要Context的地方,您可以調(diào)用MyApplication.getContext()
來獲取它。請(qǐng)注意,這種方法應(yīng)該謹(jǐn)慎使用,因?yàn)樗赡軐?dǎo)致內(nèi)存泄漏。
Context context = new ContextWrapper(getApplicationContext());
然后,您可以使用context
對(duì)象來訪問所需的Context功能。請(qǐng)注意,這種方法可能會(huì)導(dǎo)致性能下降,因?yàn)樗枰~外的包裝層。