本文摘自google的android官网翻译,如果有不对的地方,请各位大神指点
网址:http://developer.android.com/reference/android/app/Application.html
Application,Activity,Service,content provider都是Android框架的系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。
启动一个android应用程序,就等于启动了一个进程,一个进程只有一个application对象
那么,在activity,service,broadcast,content provider之前的执行的就是application
所以application就属于是一个单例模式
有时候我们需要对自定义application做一些初始化的操作
<span style="font-size:14px;">public class MyApplication extends Application
{
    private static final String URL = "http://api.demo.com/login";
    
    private String value;
    
    @Override
    public void onCreate()
    {
        super.onCreate();
        setValue(VALUE); // 初始化全局变量
    }
    
    public void setValue(String value)
    {
        this.value = value;
    }
    
    public String getValue()
    {
        return value;
    }
}</span>
当然这个类还有其它的九个方法我们可以对它进行重写
onCreate() 当Application被创建时调用
onLowMemory()
   当整个系统内存不足时,会消除该应用进程所占用的内存
registerActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback)
注册activity的生命周期回调
registerComponentCallbacks(ComponentCallbacks callback)
注册组件的回调
registerOnProvideAssistDataListener(Application.OnProvideAssistDataListener callback)
注册数据持久化是调用,也就是常说的缓存
unregisterActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback)
取消注册activity生命周期的回调
unregisterComponentCallbacks(ComponentCallbacks callback)
取消注册组件的回调
unregisterOnProvideAssistDataListener(Application.OnProvideAssistDataListener callback)
取消注册数据持久化
原文:http://blog.csdn.net/u013538542/article/details/44877533