Application类

描述:java

  android.app.Application类和Activity, Service同样是Android框架的一个系统组件,当Android程序启动时系统会建立一个Application对象,用来存储系统的一些信息。android

  Android系统会自动在每一个程序启动时建立一个Application类的对象且只建立一个。Application是一个单例类(Singleton)。缓存

  一般咱们是不须要指定一个Application类的,系统会自动为咱们建立,若是须要建立本身的Application类,只须要新建一个类并继承,同时须要在AndroidManifest.xml文件中的application标签中加入name属性便可。启动时Application时,系统会建立一个PID,即进程ID,全部的Activity都会在此进程上运行。那么咱们在Application类中初始化全局变量时,全部的Activity类均可以取到。Application对象的生命周期是整个程序中最长的,它的生命周期就等于整个程序的生命周期。由于它是全局,单例的。全部的Activity,Service中得到的对象都是同一个对象,因此能够用它来作数据传递,数据共享和数据缓存。也能够将一些全局的 初始化操做放到这个类中去实现,如:Volly的RequestQueue对象。app

 

如下是代码块:框架

这个是Application类ide

public class App extends Application {
    private static final App instance = new App();
    private String name="CarMi";

    /**
     * android应用程序的真正入口,
     * 此方法在全部activity service receiver组件以前调用
     */
    @Override
    public void onCreate() {
        super.onCreate();
        Log.i("CREATE", "application created");
        init(getApplicationContext());
    }

    private void init(Context c) {
        VolleyHttpUtil.getInstance().setContext(c);
    }
}

AndroidManifest.xml文件中的定义:xml

<application
        android:name=".base.App"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

能够看到咱们在Application类中加入了init()方法,这里面能够去作一些初始化的操做,如实例化一些全局的对象,也能够初始化第三方sdk等等对象

相关文章
相关标签/搜索