这是一个出于好奇而不是实际问题的问题。一个独立的java程序,它的可执行程序需要一个 public static void main(String [] args)方法。但在android中没有这样的方法。最接近main方法的是在清单中定义为类别android:name =" android.intent.category.LAUNCHER 的活动。所以我的问题是android需要一个主方法吗?如果是,它是如何生成的,是通过解析xml文件并在gen文件夹中创建像R.java这样的引用类似于res文件夹?如果不是,我的java文件的执行如何开始。
答案 0 :(得分:3)
有一个主要的,但你没有写它。主要是Android框架的一部分。它将获取参数并将它们映射到要运行的Activity或Service,然后调用正确的生命周期函数。所以你不必担心它。想想一个活动的onCreate(或一个服务的onStart)取代main。
答案 1 :(得分:0)
用于运行独立Java程序的Java虚拟机需要main()才能开始执行。 Android使用当前使用Dalvik虚拟机,它搜索Activity子类的实例。在Android 5中,他们将切换到ART(Android Runtime)。正如您所提到的,manifest指定了LAUNCHER,其值为此子类,并且执行从onCreate()开始。