为什么我们在Android中扩展应用程序类

时间:2018-08-20 19:39:34

标签: android

我们为什么扩展应用程序类。 Android应用即使没有扩展也能正常运行。

任何人都可以解释这种情况,因为我们到底为什么要扩展它?

例如:

public class MyApp extends Application {

    private static MyApp app;
    private ImageDownloaderComponent imageDownloaderComponent;

    @Override
    public void onCreate() {
        super.onCreate();
        app = this;
        imageDownloaderComponent = DaggerImageDownloaderComponent.builder().imageDownloaderModule(new ImageDownloaderModule(this)).build();
    }

}

1 个答案:

答案 0 :(得分:6)

  

Android应用即使没有扩展也能正常运行。

Android应用可以正常运行而无需扩展。它们可以正常运行而无需扩展Activity。当Application对您有用时,您可以对其进行扩展。

  

任何人都可以解释这种情况,因为我们到底为什么要扩展它?

它用于应该总是发生的每个进程的初始化,而不仅仅是用于某些活动或其他组件。

例如,您可以初始化:

  • 依赖注入(例如Dagger)
  • 崩溃日志记录(例如ACRA)
  • 诊断工具(例如LeakCanary,Stetho,Sonar)
  • 全局池(例如OkHttpClient

理想情况下,您初始化的次数应尽可能少,这是因为每次您的进程派生时,都会在主应用程序线程上执行此初始化。但是,对于应该在执行任何应用程序逻辑之前进行设置的事情通常很方便。