Android的Apjplication概念和理解

來源:互聯網
上載者:User

                                   Android的Application理解

一 概述

  在之前所使用的的架構:VC的MFC,MTK平台開發;這兩個平台相似之處是:基於Application開發;

MFC是基於Application的Document/View的方式,每個Application就是一個進程;

MTK是基於Application的Screen/Page,Service的方式,每個Application都有自己的記憶體和管理方式;這兩種方式的核心是:Application;

在Android開發學習中從HelloWord開始,我沒有能夠見到Application的相關代碼,而是以Activity為入口;

  讓我感到很奇怪:Android的Application到底是怎麼樣的一種開發方式。

從各處瞭解到的是Android開發的核心是四大組件:Activity,Service,BroadcastReceiver,ContentProvider;

以及Intent,Handler等機制;這樣一些組件所 組成 的“Application”又是怎麼一回事呢?

 

二 Android Application概念

       Android中提供了Application這樣一個類;看一下Android官方文檔對此類的解釋:

Base class for those who need to maintain global application state.

You can provide your own implementation by specifying its name in your AndroidManifest.xml's <application> tag,

which will cause that class to be instantiated for you when the process for your application/package is created.

  大概意思就是:需要為應用程式提供全域變數,在AndroidManifest.xml中指定所實現的Application子類;

當你的Application進程被建立時,此類被執行個體化;

  文檔解釋中也提到,實現Application子類並不是必須的;

  在實現HelloWord程式裡面,就沒有實現Application子類,但是系統會為我們預設一個;

就是程式運行還是有Application概念的但不是核心,一個Application是一個進程,Application為整個程式提供Context; 此類使用非常簡單;

Mms模組重寫了這個類但是很簡單,看看其中做了些什麼事情及其作用:

其中重寫了onCreate方法:

public class MmsApp extends Application {

@Override

    public void onCreate() {

        super.onCreate();

        sMmsApp = this;

       

//對Mms模組中的類進行配置和初始化:

        MmsConfig.init(this);

        Contact.init(this);

        DraftCache.init(this);

        Conversation.init(this);

        …… //很多init

    }};

 

三 Android Application

       http://blog.csdn.net/maxleng/article/details/5621345

  看一下網路上牛人對這個問題的分析:Android的應用是一個很虛的概念,並沒有實際入口;

Android更多的提供組件(component)的概念;為何要虛化Application這個概念呢?這個虛化就是自由無邊界設計意圖的直接體現。

突出請求和服務,突出組件個體弱化邊界,系統組件可以無邊界交流,服務要求者直接發出請求,無論這個物件服務在何處和屬於誰。

組件是自由獨立的個體;一個程式可以請求其他應用的組件——Android應用程式框架設計的核心理念;

Android提供給開發程式員的概念空間中Application只是一個鬆散的表徵概念,沒有多少實質上的表徵。

在Android實際空間中看不到實際意義上的應用程式的概念,即使有一個叫Application的類,這個也就是個應用程式上下文狀態

是一個極度弱化的概念。Application只是一個空間範疇的概念,Application就是Activity,Service之類的組件上下文描述。

Application並不是Android的核心概念,而Activity才是Android的核心概念

Android應用程式是由以下四種組件構造而成的:Activity,Broadcast Receiver,服務(Service),內容提供器(Content Provider)。

我們可以使用下面的圖來表示一下Android的概念空間。這些組件依附於應用程式中,應用程式並不會一開始就建立起來,而是在這些組件建立起來後,

需要運行時,才開始建立應用程式物件。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.