当前位置: 首页 > 面试题库 >

Android中是否有类似于C / C ++中“ int main”的函数,其中包含程序的主循环?

方权
2023-03-14
问题内容

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



 类似资料:
  • 问题内容: 我想检查一个对象是否是类的实例或的子类。 例如,如果is是类,我想成为并且也要成为。 我希望它也适用于装箱的原始类型。例如,如果是那么应该是。 有这样的事吗?如果没有,如何实现这种方法? 问题答案: Class.isInstance可以满足您的需求。 当然,如果可以使用它,则不应该使用它,但是对于反射场景,它通常派上用场。

  • 问题内容: 您好,我正在命令行应用程序上工作,它可以接受命令行参数,例如 我正在寻找可以返回我对选项及其对应值的函数,例如c中的getopt。 问题答案: 那里有很多针对Java的命令行解析器库。 picocli是最近(截至2019年末)具有许多功能和特性的命令行解析器。 一些较老的流行类是commons- cli (相当古老),args4j和JCommander。

  • 本文向大家介绍C / C ++程序中的mbrtowc()函数,包括了C / C ++程序中的mbrtowc()函数的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将讨论C ++ STL中std::mbrtowc()函数的工作,语法和示例。 什么是std::mbrtowc()? std::mbrtowc()函数是C ++ STL中的内置函数,在<cwchar>头文件中定义。mbrtowc()

  • 问题内容: 我需要用同一行的一组列(从左到右)中的第一个非空条目填充一个单元格-类似于SQL中的coalesce()。 在以下示例表中 我想在A行的每个单元格中放置一个单元格函数,这样我将得到: 我知道我可以使用一系列IF函数来做到这一点,但是在我的实际工作表中,我有30列可供选择,因此,如果有一种更简单的方法,我将很高兴。 问题答案: 这是一个数组公式。输入公式后,按+ +使Excel将其评估为

  • 问题内容: 我进入字节和对象类型的函数消息数组,我需要从字节恢复对象。Java中是否有像C ++一样的类型转换? 问题答案: 不,您可以使用序列化。

  • 本文向大家介绍在C ++中找出小于n且包含多个相似数字的整数的程序,包括了在C ++中找出小于n且包含多个相似数字的整数的程序的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个整数n,我们必须找到小于或等于n的正整数个数,其中整数个数至少有一个数字出现一次。 因此,如果输入为n = 200,则输出为38 为了解决这个问题,我们将遵循以下步骤- 定义一个数组 对于初始化x:= n,当x为非零时