Context 的作用、getApplicationContext()、Activity.this、 getBaseContext区别 和 Application用途

 

Context 的作用:  访问全局信息的。

getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁。


Activity.this 的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁。

 

getBaseContext()  返回由构造函数指定或setBaseContext()设置的上下文。

 

 

Application使用

 

      有时候会在多个组件之间进行数据的共享,Android提供了一种机制可以使用Context来做。

第一步,创建一个类 继承Application。

第二步,在配置文件,application中 android:name=".类名" 。通过这种方式,就自定义了Application。

                此时的Application是个真正全局的上下文对象。

第三步,在代码中使用,通过getApplicationContext() 就可以获得全局的对象。

 

 

Application生命周期

 1 public class ZBApplication extends Application {
 2 
 3     @Override
 4     public void onCreate() {
 5         super.onCreate();
 6         // 创建的时候会被执行。 会比启动的Activity的onCreate()先执行。
 7     }
 8 
 9     @Override
10     public void onTerminate() {
11         super.onTerminate();
12         // 结束,一般不会执行,只会在模拟还行下执行
13     }
14 
15     @Override
16     public void onLowMemory() {
17         super.onLowMemory();
18         // 在低内存的时候会执行。
19     }
20 
21     @Override
22     public void onTrimMemory(int level) {
23         super.onTrimMemory(level);
24         // 程序在进行内存清理的时候会执行。
25     }
26 
27     @Override
28     public void onConfigurationChanged(Configuration newConfig) {
29         super.onConfigurationChanged(newConfig);
30         // 发生改变的时候会调用。
31     }
32 }

 

 

原文地址:https://www.cnblogs.com/androidsj/p/2971250.html