天天看點

Android程式的入口點是什麼,不是Main()嗎 

很多初入Android開發的網頁可能不知道Android程式的入口點是什麼,不是main()嗎,當然我相信回複onCreate的在字面上不算錯,但是你們想的是Activity中的onCreate 方法吧,其實真正的入口點entrypoint是什麼。

  Android使用Google Dalvik VM,相對于傳統Java VM而言有着很大的不同,在Sun的Java體系中入口點和标準c語言一樣是main(),而每個Android程式都包含着一個Application 執行個體,一個Application執行個體中有多個Activity、Service、ContentProvider或Broadcast Receiver。因為大部分的應用都包含Activity是以,說很多人認為是Activity的onCreate,但是你沒有發現你的工程中有多個 Activity嗎? 你可能沒有見過沒有Activity的Android應用吧。

   其實在android.app.Application這個包的onCreate才是真正的Android入口點,隻不過大多數開發者無需重寫該類,他的繼承關系如下圖:

java.lang.Object

   ↳ android.content.Context

     ↳ android.content.ContextWrapper

       ↳ android.app.Application

android.app.Application類包含了4個公開的方法

void  onConfigurationChanged(Configuration newConfig)

void  onCreate()  //這裡才是真正的入口點。

void  onLowMemory()

void  onTerminate()

  是以真正的Android入口點是application的main,你可以看下androidmanifest.xml的包含關系就清楚了,并不是每個應用都必須有Activity的。

上一篇: C 運算符
下一篇: C if 語句