代码之家  ›  专栏  ›  技术社区  ›  RyanCheu

Android中是否有类似于C/C++中的“int main”函数,它包含程序的主循环?

  •  10
  • RyanCheu  · 技术社区  · 17 年前

    通常在C或C++程序中,通常有一个主循环/函数。 int main () . 在Android Java开发中有类似的功能吗?

    4 回复  |  直到 10 年前
        1
  •  11
  •   Will Ganeshgm7    17 年前

    就Android程序而言,没有main()。操作系统运行一个UI循环,调用您在程序中定义或重写的方法。这些方法可能是从onCreate()、onStart()、onResume()、onRestart()、onPause()、onStop()或OnDestroy()中调用/定义的。所有这些方法都可以在程序中被重写。

    最根本的问题是,操作系统被设计成在资源受限的环境中运行。当操作系统需要更多的内存(这是一个多任务操作系统)时,您的程序需要准备好暂停,甚至完全停止。为了处理这个问题,您的程序需要具有上面列出的所有功能中的一些。

    活动生命周期对此进行了最好的描述(您的程序是一个或多个活动,将活动视为一个屏幕):

    http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

    底线:您的程序从oncreate()开始到onresume(),但是操作系统正在运行循环。您的程序向操作系统提供回调,以处理操作系统发送给它的任何内容。如果在程序中的任何一点上放置一个长循环,它看起来都会冻结,因为操作系统(特别是UI线程)无法获得一段时间。用一根线做长的环。

        2
  •  6
  •   weilin8    17 年前

    在Android环境中,没有main()。操作系统依赖清单文件来找出进入应用程序的入口点,在大多数情况下,这是一个活动。

    你应该阅读 http://developer.android.com/guide/topics/fundamentals.html 更多细节。

        3
  •  3
  •   drudru    17 年前

    根据: http://developer.android.com/guide/tutorials/hello-world.html

    应用程序类必须为应用程序 支持。在一般情况下,onCreate可能等同于main/top 满足您的需求。

        4
  •  1
  •   Cambesa    13 年前

    也许可以通过创建一个计时器并在每个时间点执行自定义函数,在特定时间重置计时器。