通常,在C或C ++程序中,通常会有一个主循环/函数int main ()。我可以在android Java开发中使用类似的功能吗?
就Android程序而言,没有main()。操作系统运行一个UI循环,该循环调用您在程序中定义或覆盖的方法。这些方法可能是在onCreate(),onStart(),onResume(),onReStart(),onPause(),onStop()或onDestroy()中定义的。所有这些方法都可能在您的程序中被覆盖。
根本问题是,该操作系统旨在在资源受限的环境中运行。每当操作系统需要更多内存(这是一个多任务操作系统)时,您就需要准备停止它的程序,甚至完全停止它。为了处理您的程序,需要具有上面列出的所有功能。
活动生命周期最能说明这一点(您的程序是一个或多个活动,将活动视为屏幕):
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
底线:您的程序通过onResume()在onCreate()处启动,但操作系统正在运行循环。您的程序向操作系统提供回调,以处理操作系统发送给它的任何内容。如果您在程序中的任何地方放置了较长的循环,由于操作系统(特别是UI线程)无法获得一小段时间,它似乎会冻结。使用线程进行长循环。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。