Android 中的“扩展应用程序”和“扩展活动”之间有什么区别?

2022-09-01 12:07:49

我对两者之间的区别感到困惑。在我的应用程序中,我刚刚使用了扩展活动,并且应用程序运行良好,那么扩展应用程序的目的是什么?

你会在Android应用程序中创建的第一个类上使用它吗?

谢谢。


答案 1

android.app.Application 类是用于扩展和存储应用程序全局状态的可选工具。还有其他方法可以执行此操作,因此大多数应用不会自定义此类。

但是,活动定义了应用程序的每个主要阶段。如果没有活动,就不可能构建应用程序。您将有一个主要的活动类,这确实将使用“扩展活动”来定义。


答案 2

查看差异的最佳方法是查看其类层次结构

活动

java.lang.Object
  ↳ android.content.Context
      ↳ android.content.ContextWrapper
          ↳ android.view.ContextThemeWrapper
              ↳ android.app.Activity

应用

java.lang.Object
↳   android.content.Context
   ↳    android.content.ContextWrapper
       ↳    android.app.Application

应用程序是一直存在,直到您的Android应用程序进程被杀死。您可以使用它来存储应用程序特定的数据(只要您的应用程序处于活动状态),这些数据可以跨各种活动使用。注意 我不是说你应该...共享首选项可能是其他合适的方式,具体取决于您的使用案例。另外,为了清楚起见,您不能使用应用程序来启动应用程序,这与您在清单文件中提供的启动器活动不同。

您可以使用自己的自定义应用程序类,如下所示

<application
    android:name="icom.osfg.test.app.AppController"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyTheme" >
    <!-- all the activities goes here -->
</application>

哪里

AppController extends Application

推荐