【问题标题】:Is there a function in Android analogous to "int main" in C/C++ which contains the program's main loop?Android 中是否有类似于 C/C++ 中的“int main”的函数,其中包含程序的主循环?
【发布时间】:2010-11-09 03:16:12
【问题描述】:

通常在 C 或 C++ 程序中有一个主循环/函数,通常是 int main ()。有没有类似的函数可以在android Java开发中使用?

【问题讨论】:

    标签: java android activity-lifecycle


    【解决方案1】:

    就 Android 程序而言,没有 main()。操作系统运行的 UI 循环调用您在程序中定义或覆盖的方法。这些方法可能在 onCreate()、onStart()、onResume()、onReStart()、onPause()、onStop() 或 onDestroy() 中调用/定义。所有这些方法都可能在您的程序中被覆盖。

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

    Activity 生命周期最好地描述了这一点(您的程序是一个或多个 Activity,将 Activity 视为一个屏幕):

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

    底线:您的程序从 onCreate() 到 onResume() “开始”,但操作系统正在运行循环。您的程序向操作系统提供回调以处理操作系统发送给它的任何内容。如果您在程序中的任何位置放置一个长循环,它似乎会冻结,因为操作系统(特别是 UI 线程)无法获得时间片。为长循环使用线程。

    【讨论】:

      【解决方案2】:

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

      您应该阅读http://developer.android.com/guide/topics/fundamentals.html 了解更多详情。

      【讨论】:

        【解决方案3】:

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

        应用程序类必须支持应用程序的每个活动的方法 支持。在一般情况下,onCreate 可能相当于 main/top 满足您的需求。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

          • 这样真的不能算是main函数。
          猜你喜欢
          • 1970-01-01
          • 2020-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-06
          • 1970-01-01
          • 2012-06-06
          • 1970-01-01
          相关资源
          最近更新 更多