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

标签 java android activity-lifecycle

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

最佳答案

对于 Android 程序而言,没有 main()
操作系统运行一个 UI 循环,它调用您在程序中定义或重写的方法。这些方法可能是在 onCreate()onStart()onResume()onReStart() 中调用或定义的code>、onPause()onStop()onDestroy()。所有这些方法都可以在您的程序中被重写。

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

Activity lifecycle对此进行了最好的描述(您的程序是一个或多个 Activity ,将 Activity 视为一个屏幕)。

底线:您的程序从 onCreate()onResume() “启动”,但操作系统正在运行循环。您的程序向操作系统提供回调来处理操作系统发送给它的任何内容。如果您在程序中的任何位置放置一个长循环,它就会显得卡住,因为操作系统(特别是 UI 线程)无法获得时间片。使用线程进行长循环。

关于java - Android 中是否有类似于 C/C++ 中的 "int main"的函数,其中包含程序的主循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58945340/

相关文章:

java - 奇怪的 Java for 循环格式

android - API 驱动的应用程序 - 嵌套 fragment - 在哪里进行 API 调用? onStart 与 onResume 上的 onCreateView

android - 何时保存 SharedPreferences?

android - 当一个 Activity 直接从一个通知启动时,你如何构建一个 Android 后台堆栈?

Java Sprite 应该与 Data Structure 合并

java - 如何正确使用 MouseMotionListener 来按下 JButtons?

java - 运行maven spi项目进行调试

java - 将逻辑从 MainActivity 移动到 Android 中的另一个类

c# - 如何在 Unity AndroidJavaClass 中访问枚举

android - 一个 fragment 的 Activity 有什么意义吗?