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

最佳答案

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

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

Activity 生命周期最能说明这一点(您的程序是一个或多个 Activity ,将 Activity 视为屏幕):

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

底线:您的程序通过onResume()从onCreate()启动,但操作系统正在运行循环。您的程序向操作系统提供回调,以处理操作系统发送给它的任何内容。如果您在程序中的任何地方放置了较长的循环,由于操作系统(特别是UI线程)无法获得一小段时间,它似乎会冻结。使用线程进行长循环。

07-24 09:45
查看更多