Application context和Activity context的区别

如题所述

Application context和Activity context的区别如下:
1、生命周期不同
Application context的生命周期与Application的生命周期相关的,context随着Application的销毁而销毁,伴随application的一生,与activity的生命周期无关。
Activity context跟Activity的生命周期是相关的,但是对一个Application来说,Activity可以销毁几次,那么属于Activity的context就会销毁多次。
2、使用场景不同
Activity的context是通常使用的方法,有时候不得不使用Application的context。application context可以通过Context.getApplicationContext或者Activity.getApplication方法获取。
举例说明:
①aplication的例子:
import android.app.Application;
public class GameApplication extends Application {
private int score;
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
②activity的例子
public class DemoActivity extends Activity {
public Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button=(Button)findViewById(R.id.button);
((GameApplication)getApplication()).setScore(100);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(DemoActivity.this, ResultActivity.class);
startActivity(intent);
}
});
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答