android开发 - Application类

时间:2015-04-05 09:05:00   收藏:0   阅读:712

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

           取消注册数据持久化


原文:http://blog.csdn.net/u013538542/article/details/44877533

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!