就Android程序而言,没有main()。 *** 作系统运行一个UI循环,该循环调用您在程序中定义或覆盖的方法。这些方法可能是从onCreate(),onStart(),onResume(),onReStart(),onPause(),onStop()或onDestroy()中定义的。所有这些方法都可能在您的程序中被覆盖。
根本问题在于,该 *** 作系统旨在在资源受限的环境中运行。每当 *** 作系统需要更多内存(这是一个多任务 *** 作系统)时,您就需要准备停止它的程序,甚至完全停止它。为了处理您的程序,需要具有上面列出的所有功能。
活动生命周期最能说明这一点(您的程序是一个或多个活动,将活动视为屏幕):
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
底线:您的程序通过onResume()从onCreate()启动,但 *** 作系统正在运行循环。您的程序向 *** 作系统提供回调,以处理 *** 作系统发送给它的任何内容。如果您在程序中的任何地方放置了较长的循环,由于 *** 作系统(特别是UI线程)无法获得一小段时间,它似乎会冻结。使用线程进行长循环。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)