zoukankan      html  css  js  c++  java
  • Android程序的入口点是什么,不是Main()吗

     

    很多初入Android开发的网页可能不知道Android程序的入口点是什么,不是main()吗,当然我相信回复onCreate的在字面上不算错,但是你们想的是Activity中的onCreate 方法吧,其实真正的入口点entrypoint是什么。

      Android使用Google Dalvik VM,相对于传统Java VM而言有着很大的不同,在Sun的Java体系中入口点和标准c语言一样是main(),而每个Android程序都包含着一个Application 实例,一个Application实例中有多个Activity、Service、ContentProvider或Broadcast Receiver。因为大部分的应用都包含Activity所以,说很多人认为是Activity的onCreate,但是你没有发现你的工程中有多个 Activity吗? 你可能没有见过没有Activity的Android应用吧。

       其实在android.app.Application这个包的onCreate才是真正的Android入口点,只不过大多数开发者无需重写该类,他的继承关系如下图:

    java.lang.Object
       ↳ android.content.Context
         ↳ android.content.ContextWrapper
           ↳ android.app.Application

    android.app.Application类包含了4个公开的方法

    void  onConfigurationChanged(Configuration newConfig)
    void  onCreate()  //这里才是真正的入口点。
    void  onLowMemory()
    void  onTerminate()

      所以真正的Android入口点是application的main,你可以看下androidmanifest.xml的包含关系就清楚了,并不是每个应用都必须有Activity的。

  • 相关阅读:
    什么是webview
    juqery.fn.extend和jquery.extend
    LeetCode
    5. Longest Palindromic Substring
    42. Trapping Rain Water
    11. Container With Most Water
    621. Task Scheduler
    49. Group Anagrams
    739. Daily Temperatures
    3. Longest Substring Without Repeating Characters
  • 原文地址:https://www.cnblogs.com/u0mo5/p/4154581.html
Copyright © 2011-2022 走看看