【发布时间】:2010-11-09 03:16:12
【问题描述】:
通常在 C 或 C++ 程序中有一个主循环/函数,通常是 int main ()。有没有类似的函数可以在android Java开发中使用?
【问题讨论】:
标签: java android activity-lifecycle
通常在 C 或 C++ 程序中有一个主循环/函数,通常是 int main ()。有没有类似的函数可以在android Java开发中使用?
【问题讨论】:
标签: java android activity-lifecycle
就 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 线程)无法获得时间片。为长循环使用线程。
【讨论】:
在 Android 环境中,没有 main()。操作系统依赖清单文件来找出应用程序的入口点,在大多数情况下是一个活动。
您应该阅读http://developer.android.com/guide/topics/fundamentals.html 了解更多详情。
【讨论】:
根据: http://developer.android.com/guide/tutorials/hello-world.html
应用程序类必须支持应用程序的每个活动的方法 支持。在一般情况下,onCreate 可能相当于 main/top 满足您的需求。
【讨论】:
也许可以通过创建一个计时器并在每次滴答时执行自定义函数,在特定时间重置计时器
【讨论】: