Application 詳解

---

在 Android 中使用全局變量,除 public 靜態變量,還有就是使用 android.app.Application。Android 系統 會爲每一個程序運行時建立一個 Application 類的對象且僅建立一個,因此 Application 能夠說是單例 (singleton)模式的一個類因此在不一樣的 Activity、Service 中得到的對象都是同一個對象,因此經過 Application 來進行一些,數據傳遞,數據共享等,數據緩存等操做。在啓動 Application 時,系統會建立一個 PID,就是 進程 ID,全部的 Activity 會在此進程上運行,在建立 Application 時初始化全局變量,同一個應用的全部 Activity 都會獲取這些全局變量的值,可用於保存登陸狀態。Application 中的全局變量值會在 Activity 中被改變,其生命週期等於整個程序的生命週期android

目錄

-生命週期緩存

-Activity 的生命週期監聽網絡

生命週期

介紹一下 Application 的生命週期,以及在這些生命週期方法中能夠作那些操做app

onCreate 程序建立的時候執行ide

第三方庫的初始化(網絡請求、推送、地圖、分享等)、MultiDex(分包配置)、全局對象、環境配置變量、全局數據共享存儲,不能作耗時操做,要否則影響 App 的啓動速度函數

onTerminate 程序終止的時候執行cdn

onConfigurationChanged 配置改變時觸發這個方法。對象

屏幕旋轉blog

onLowMemory 低內存的時候執行接口

照片資源(GlideApp 的使用)緩衝的清除

onTrimMemory 程序在進行內存清理時執行

照片資源(GlideApp 的使用)、後臺服務,可根據不一樣的 level 來決定是否清除緩衝

補充: registerComponentCallbacks,ComponentCallbacks2回調接口,裏面會重寫onTrimMemory、onLowMemory、onConfigurationChanged。 ComponentCallbacks回掉接口裏面少一個onTrimMemory函數

Activity 的生命週期監聽

registerActivityLifecycleCallbacks 和 unregisterActivityLifecycleCallbacks 函數,registerActivityLifecycleCallbacks對應用程序內全部 Activity 的生命週期監聽,當應用程序內 Activity生命週期發生變化時就會調用,ActivityLifecycleCallbacks接口裏面有對應的方法返回相對應Activity的生命週期狀態。unregisterActivityLifecycleCallbacks註銷

相關文章
相關標籤/搜索