標籤:android java ext c int 使用
很多初入Android開發的網頁可能不知道Android程式的進入點是什麼,不是main()嗎,很多網友可能直接回複是onCreate,當然我相信回複onCreate的在字面上不算錯,但是你們想的是Activity中的 onCreate方法吧,這裡Android開發網告訴下大家真正的進入點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的。