android - android应用程序的入口点

标签 android mobile dalvik

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

最佳答案

第一个“入口”点是金士顿指出的应用程序类。

然而,获得第一个起点的最简单方法是在调试 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/

相关文章:

android - 自定义通知声音在 Android Oreo 中不起作用

android - 通过gradle运行shell脚本

html - Firefox Mobile 中的背景图像问题

html - 检测手机与非电话移动设备?

javascript - 在不覆盖 iPhone 滚动行为的情况下在页面上嵌入 Google map

android - DalvikVM 上的 CLI 在 JNI 库上失败

android - 在单选组 Android 中手动管理单选按钮

Android 7.0 和 7.1 getApplication() ClassCastException

android - 从代码 [API] 中在 Android 设备上编译 .java 代码?

java - Dalvik 和乱序写入