Android源代码怎么会没有main方法,还能运行呢?

运行但没有main的

!

当然了。您可能认为是Java“应用程序”的许多东西都没有自己的main()方法。例如,IIRC、servlet、WARs等没有main()方法-- main()方法(如果有)在容器中。

,但onCreate是一个入口点吗?

onCreate()是一种方法。

如果有多个活动...这些内置的事件处理程序有层次结构吗?

不怎么有意思。

OnCreate胜过一切?

不怎么有意思。

否则,应用程序如何知道要运行什么或在哪里进入程序?

应用程序并不“知道运行什么或者在哪里进入程序”。

Android应用程序是一篮子组件。一些组件可能绑定到主屏幕启动器中的图标。某些组件可能与计划计时器相关,如cron作业或Windows计划任务。某些组件可能与系统事件相关,例如当设备被放入汽车停靠站或从汽车停靠站移除时。这些组件将自动创建并在适当的时候使用(例如,当用户轻击主屏幕启动器中的图标时)。然而,只有当您的代码明确要求它们时,才会创建和使用其他组件。

把Android应用程序想象成一个单一的控制台模式Java程序会给您带来无尽的麻烦。