Java 是",;主要活动“;特殊类型的活动,与其他活动有什么不同?

Java 是",;主要活动“;特殊类型的活动,与其他活动有什么不同?,java,android,android-activity,Java,Android,Android Activity,除了作为应用程序启动时的第一个活动外,主活动还有什么特别之处吗? 发件人: 一个应用程序通常由多个屏幕组成,这些屏幕松散地绑定到 彼此每个屏幕都是一个活动。通常情况下,一个项目中的一个活动 app被指定为“main”活动(MainActivity.java),即 在应用程序启动时显示给用户。主要活动可以是 然后启动其他活动以执行不同的操作 从上面的引述中,我认为我们有以下层次结构: 但还有人说: 每次新活动启动时,前一个活动都会停止,但 系统将活动保留在堆栈(“后堆栈”)中。什么时候 一个新的

除了作为应用程序启动时的第一个活动外,主活动还有什么特别之处吗? 发件人:

一个应用程序通常由多个屏幕组成,这些屏幕松散地绑定到 彼此每个屏幕都是一个活动。通常情况下,一个项目中的一个活动 app被指定为“main”活动(MainActivity.java),即 在应用程序启动时显示给用户。主要活动可以是 然后启动其他活动以执行不同的操作

从上面的引述中,我认为我们有以下层次结构:

但还有人说:

每次新活动启动时,前一个活动都会停止,但 系统将活动保留在堆栈(“后堆栈”)中。什么时候 一个新的活动启动,新的活动被推到后堆栈上 并以用户为中心。后堆栈遵循基本的“后进先出” “输出”堆栈逻辑。当用户完成当前活动时,以及 按下后退按钮,该活动将从堆栈中弹出,然后 已销毁,并恢复上一个活动

这是否也适用于
“main活动”
?如果
“MainActivity”
被破坏,是否会导致应用程序崩溃,即
MainActivity
的生命周期是否与任何其他活动的生命周期有任何不同?MainActivity是否是退出应用程序时停止的最后一个活动

为什么我需要这个:


我想在退出应用程序时释放一些资源(在
onStop()
方法中(因为post Honeycomb保证会调用
onStop
),特别是
ExecutorServices
,我在这里读到,即使应用程序退出,也不能保证
ExecutorService
会停止并使JVM继续工作/运行,即使应用程序已关闭/关闭,并将继续使用系统资源。

Main
Activity
是用户按下图标进行冷启动时应用程序的入口点。您可以通过意图过滤器将任何活动设置为AndroidManifest.xml文件中的主活动。意图过滤器告诉系统哪个活动是主要的

虽然主活动通常被视为第一个入口点,但请记住,主活动并不总是要启动的第一个活动,例如,可以将各种意图过滤器分配给其他活动,并且可以在相关操作之后直接打开该活动。请阅读有关

例如,您的应用程序是gallery应用程序,典型的第一个屏幕是唱片集列表。从这里可以在PhotoActivity中查看单个照片。此PhotoActivity可通过外部应用程序的意图直接打开,以查看特定照片,而无需启动主活动。(查看谷歌照片应用程序)

关于ExecutorServices或其他服务生命周期,这里没有几个选项:

  • 实施所有权机制,即启动服务的活动负责关闭服务
  • 您可以监视应用程序的活动堆栈,并在活动堆栈为空时终止服务
  • 利用应用程序类生命周期来监视事物
  • 这里有合理的讨论

  • 只是一个名称与其他名称没有什么不同。实际上,这是默认值。这是默认值,因为Android Studio有一个内置的
    模板
    ,它将开始/初始活动命名为
    MainActivity
    ,其他什么都没有。您几乎可以随意命名它,
    NotSoMainActivity
    SplashActivity
    ,只需更改清单中相应的活动即可。