android应用程序的入口点

dac*_*ngy 9 mobile android dalvik

当我们开发Android应用程序时,我们总是从onCreate()主要活动的方法开始.很明显,在调用之前应该进行一些初始化onCreate().我的问题是:mainAndroid应用程序的入口点(或方法)是什么?Dalvik VM在一开始就调用了什么(即,当它完成自己的初始化,并且即将控制转移到应用程序时)?我在哪里可以找到这个代码main

ste*_*ert 7

金斯顿指出,第一个"入口"点是应用程序类.

但是,获得第一个起点的最简单方法是在调试onCreate时检查堆栈.

您可以检查仪器,这听起来有点像您想要的.

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]  
Run Code Online (Sandbox Code Playgroud)


kin*_*ton 6

您应该扩展Application类并覆盖onCreate方法.

供参考:应用类

  • 您可能应该补充一点,您需要使用 <application> 标记在清单中注册扩展应用程序类名称 (2认同)