[英]Is there a solution that access MainActivity from other Activity class?
[英]is the “MainActivity” special kind of activity, does it differ from any other activity?
除了作为应用程序启动时的第一个 Activity 之外,主 Activity 还有什么特别之处吗? 来自: https://developer.android.com/codelabs/android-training-create-an-activity#0
一个应用程序通常由多个彼此松散绑定的屏幕组成。 每个屏幕都是一个活动。 通常,应用程序中的一个活动被指定为“主要”活动 (MainActivity.java),它会在应用程序启动时呈现给用户。 然后主要活动可以启动其他活动以执行不同的操作。
从上面的引用看来,我们有以下层次结构:
但后来又说:
每次新活动开始时,前一个活动都会停止,但系统会将活动保存在堆栈(“后堆栈”)中。 当一个新的活动开始时,这个新的活动被推到后台堆栈并获得用户的关注。 后退堆栈遵循基本的“后进先出”堆栈逻辑。 当用户完成当前活动并按下后退按钮时,该活动将从堆栈中弹出并销毁,并且前一个活动恢复。
这是否也适用于"MainActivity"
? 如果"MainActivity"
被销毁,这是否会导致应用程序崩溃,即MainActivity
的生命周期是否与任何其他活动的生命周期有任何不同? MainActivity 是退出应用程序时停止的最后一个活动吗?
为什么我需要这个:
我想在 App 退出时释放一些资源(在onStop()
方法中(因为后 Honeycomb 保证会调用onStop
)),尤其是ExecutorServices
,我在这里读到即使 App 退出了不保证ExecutorService
将停止并使 JVM 继续工作/运行,即使应用程序已关闭/终止并将继续使用系统资源。
当用户按下图标进行冷启动时,主Activity
是您的应用程序的入口点。 您可以通过 Intent Filter 在 AndroidManifest.xml 文件中将任何 Activity 设为主要 Activity。 意图过滤器告诉系统哪个活动是主要的。
虽然主要活动通常被认为是第一个入口点,但请记住,主要活动并不总是要启动的第一个活动,例如,可以将各种意图过滤器分配给您的其他活动,并且可以直接打开该活动相关的动作。 请 在此处阅读有关 Intent-Filter 的信息。
例如,您的应用是图库应用,典型的第一个屏幕是专辑列表。 您可以从中查看 PhotoActivity 中的单张照片。 这个 PhotoActivity 可以直接通过外部应用程序的意图打开以查看特定照片,而无需启动主 Activity。 (查看谷歌照片应用程序)
关于 ExecutorServices 或其他服务生命周期,这里有几个选项:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.