Aplication的意义和生命周期,与Context的关系,以及关于Aplication和Context相关问题的记录和解决办法

Context详解地址链接:

http://blog.csdn.net/qinjuning/article/details/7310620

Application是一个应用中有且仅有一个的全局共享变量类,在这个全局变量中可以存储一定的数据,用于整个应用中的异步沟通和数据交互。、

自定义Application的方法:

1.自定义一个class,假如取名app,继承Application

2.在manifests文件中,对于Application声明一个name标签,那么这个标签的名字就可以改为android:name=".app",进行此步骤后,应用将使用自定义的Application的类

3.这个全局的变量对象,可以在任何地方通过使用getApplicationContext()方法获得

注:这个application的class中不能写具体的执行步骤,只能声明属性和提供修改和获得属性的方法

Application的生命周期跟整个程序的状态息息相关,具体体现在几个函数:

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();      // 程序创建的时候执行
    }
    @Override
    public void onTerminate() {
        super.onTerminate();    // 程序终止的时候执行
    }
    @Override
    public void onLowMemory() {
        super.onLowMemory();  // 低内存的时候执行
    }
    @Override
    public void onTrimMemory(int level) {
      super.onTrimMemory(level);   // 程序在内存清理的时候执行
    }
    @Override
    public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);
    }
    
}


而Context是沟通整个程序的桥梁,

每个重要的组件都会对应一个Context对象,在Context中封装了许多抽象的方法,

通过层层继承,在不同的位置实现抽象的方法,使得Context中的抽象方法可以沟通各个组件,其中就包括了startActivity(Intent i)方法

ps:

Intent是一个用于沟通各个组件的对象,其中封装了一些用户携带信息的属性,但调用context中的方法沟通不同的组件的时候,Intent中的内容自然就实现了跨组件的传递。

自己遇到的Context相关问题收集:

1.新建某些对象的时候,必须要有context对象作为参数,但并没有可以用来使用的context对象时,如何为该新建的方法提供context参数

使用应用程序的context接口:

class A = new class(getApplicationContext());

原文地址:https://www.cnblogs.com/thinfog/p/5671767.html