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等等對象

相關文章
相關標籤/搜索