Android下關于Application的使用
創(chuàng)新互聯(lián)公司成都網(wǎng)站建設按需定制網(wǎng)站,是成都網(wǎng)站制作公司,為成都資質(zhì)代辦提供網(wǎng)站建設服務,有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設計服務:原型圖制作、網(wǎng)站創(chuàng)意設計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站維護熱線:028-86922220
1、Application和Activity,Service一樣,是android框架的一個系統(tǒng)組件,當android程序啟動時系統(tǒng)會創(chuàng)建一個 application對象,用來存儲系統(tǒng)的一些信息。通常我們是不需要指定一個Application的,這時系統(tǒng)會自動幫我們創(chuàng)建,如果需要創(chuàng)建自己 的Application,也很簡單創(chuàng)建一個類繼承 Application并在manifest的application標簽中進行注冊(只需要給Application標簽增加個name屬性把自己的 Application的名字定入即可)。
2、ndroid系統(tǒng)會為每個程序運行時創(chuàng)建一個Application類的對象且僅創(chuàng)建一個,所以Application可以說是單例 (singleton)模式的一個類.且application對象的生命周期是整個程序中最長的,它的生命周期就等于這個程序的生命周期。因為它是全局 的單例的,所以在不同的Activity,Service中獲得的對象都是同一個對象。所以通過Application來進行一些,數(shù)據(jù)傳遞,數(shù)據(jù)共享 等,數(shù)據(jù)緩存等操作。
//創(chuàng)建一個DemoApplication類繼承Application實現(xiàn)onCreate()方法
public class DemoApplication extends Application{ public String name = "tom"; public void onCreate(){ super.onCreate(); Log.v("zd", "CustomApplication---------------onCreate"); setName(name); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
//在需要使用的地方調(diào)用DemoApplication中的數(shù)據(jù),達到數(shù)據(jù)共享
public class MainActivity extends Activity { private DemoApplication app; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.v("zd", "MainActivity---------------onCreate"); app = (DemoApplication) getApplication(); Log.v("zd", app.getName()); } protected void onStop() { super.onStop(); Log.v("zd", "MainActivity---------------onStop"); } protected void onDestory(){ super.onDestroy(); Log.v("zd", "MainActivity---------------onDestory"); } }
//Manifest中在Application中增加name屬性即name="DemoApplication"
//注意在DemoApplication中不可以執(zhí)行耗時操作,否則會影響程序的啟動時間