通常在 C 或 C++ 程序中有一个主循环/函数,通常是int main ()
. 我可以在android Java开发中使用类似的功能吗?
4 回答
就 Android 程序而言,没有 main()。操作系统运行的 UI 循环调用您在程序中定义或覆盖的方法。这些方法可能在 onCreate()、onStart()、onResume()、onReStart()、onPause()、onStop() 或 onDestroy() 中调用/定义。所有这些方法都可能在您的程序中被覆盖。
根本问题是操作系统被设计为在资源受限的环境中运行。当操作系统需要更多内存(这是一个多任务操作系统)时,您的程序需要准备好停止甚至完全停止。为了处理这个问题,您的程序需要具有上面列出的所有功能。
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 函数。
也许可以通过创建一个计时器并在每次滴答时执行自定义功能,在特定时间重置计时器