android开发 - Application类

来源:互联网 发布:男双肩包推荐 知乎 编辑:程序博客网 时间:2024/05/16 03:28

本文摘自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>

我们就可以在activity,service,broadcast,content provider中设置和获取这个URL了


当然这个类还有其它的九个方法我们可以对它进行重写

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)

           取消注册数据持久化


0 0
原创粉丝点击