日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Application 类 简介

發布時間:2025/3/20 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Application 类 简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Application 簡介

每次程序運行時,程序的Application 類都是保持實例化。與Activity不同;配置改變并不會導致程序重啟。通過擴展Application類,可以完成以下工作:

1.Android 運行時廣播的應用程序級事件(如低內存)作出響應。

2.在應用組件之間傳遞對象。

3.管理和維護多個應用程序組件使用的資源。

其中后兩項工作可以使用一個單態類完成,當Manifest 中注冊了一個Application實現后,他會在創建應用程序進程的時候得到實例化。因此,Application的實現在本質上上是單態的,并且應該作為單態進行實現,以便對其方法和成員變量的訪問。

l? 擴展和使用Application

Application 類的框架:

public?class?MyApplication?extends?Application{private?static?MyApplication?singleton; //返回應用程序實例public?static?MyApplication?getInstance(){return?singleton;}@Overridepublic?void?onCreate()?{super.onCreate();singleton=this;} }


注意:必須在Manifest文件中注冊:

?

<applicationandroid:name="com.example.persontest.MyApplication"android:allowBackup="true" [……………………Manifest?nodes……………………]????????</application>


雖然對于在松耦合的應用程序組件之間傳遞對象,以及維護應用程序狀態或者共享資源,這種方法特別有效;但是一般來說,創建自己的靜態單態類比為特殊用途擴展Application類更好一些,除非你還要處理一下描述的生命周期事件。

l? 重寫應用程序的生命周期事件:

Application類為應用程序的創建和終止,低可用內存和配置改變提供了事件處理程序。

通過重寫以下方法,可以為上述幾種情況實現自己的應用程序行為:

1.onCreate: 在創建應用程序是調用。可以重寫這個方法來實例化應用程序單態,以及創建和實例化任何應用程序狀態變量或者公共資源。

2.onLowMemory 當系統資源匱乏時,具有良好行為的程序可以釋放額外的內存。這個方法一般會在后臺進已經終止,但是前臺應用程序仍然缺少內存時調用。可以重寫這個處理程序來清空緩存或者釋放不必要的資源

3.onTrimMemory:作為onLowMemory的一個特定于應用程序的替代選擇,在Android 4.0Api Level 13)引入(但是我在官網上看的是level 14)。當(Android Runtime )運行時決定當前應用程序應該嘗試減少內存開銷時(通常它進入后臺是)調用。它包含一個level參數,用于提供請求的上下文。

4.onConfigurationChanged:與Activity不同,在配置改變時,應用程序對象不會被終止或者重啟。如果應用程序使用的值依賴于特定的配置,則重寫這個方法來重寫加載這些值,或者在應用程序級別處理配置改變。

必須在重寫這些方法時調用超類的時間處理程序。

public?class?MyApplication?extends?Application?{private?static?MyApplication?singleton;public?static?MyApplication?getInstance()?{if?(singleton?==?null)?{singleton?=?new?MyApplication();}return?singleton;}@Overridepublic?void?onCreate()?{super.onCreate();singleton?=?this;}@Overridepublic?void?onLowMemory()?{super.onLowMemory();}@Overridepublic?void?onTrimMemory(int?level)?{super.onTrimMemory(level);}@Overridepublic?void?onConfigurationChanged(Configuration?newConfig)?{super.onConfigurationChanged(newConfig);} }


轉載于:https://my.oschina.net/litengit/blog/354288

總結

以上是生活随笔為你收集整理的Application 类 简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。