当我们开发一个Android应用时,我们总是从主Activity的onCreate() 方法开始。很明显,在调用 onCreate() 之前应该进行一些初始化。我的问题是:Android 应用程序的入口点(或 main 方法)是什么? Dalvik VM 一开始会调用什么(即,当它完成自己的初始化,并将控制权转移给应用程序时)?我在哪里可以找到这个 main 的代码?
Best Answer-推荐答案 strong>
第一个“入口”点是金士顿指出的应用程序类。
然而,最容易获得第一个起点的方法是在调试 onCreate 时检查堆栈。
你可以检查 Instrumentation,这听起来有点像你想要的。
http://developer.android.com/reference/android/app/Instrumentation.html
MainActivity.onCreate(Bundle) line: 12
Instrumentation.callActivityOnCreate(Activity, Bundle) line: 1047
ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2627
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2679
ActivityThread.access$2300(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 125
ActivityThread$H.handleMessage(Message) line: 2033
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
关于android - android应用程序的入口点,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/10057448/
|