通常在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线程)无法获得一小段时间,它似乎会冻结。使用线程进行长循环。