是否可以在android中扩展Application类两次并在应用程序中有两个孩子?还有为什么我们需要它&扩展它的目的是什么?
答案 0 :(得分:1)
是否可以在android中扩展Application类两次并在应用程序中有两个子类?
Application
元素的android:name
属性中只能有一个已注册的<application>
子类。您可以根据需要创建Application
的子类,但只能使用一个。{1}}。不过,欢迎您MyApp
延长Application
,MyOtherApp
延长MyApp
,并在清单中注册MyOtherApp
。
还有我们为什么需要它
很少有应用需要它。引用the documentation,“通常不需要子类化应用程序”。
扩展它的目的是什么?
如果您每次Android为您分配流程时都需要执行应用程序逻辑,Application
是触发该逻辑的常见位置。例如,大多数崩溃日志记录库(例如,ACRA)都可以在Application
子类中对它们进行配置,这样它们就可以处理应用程序中其他任何位置的崩溃事件。
答案 1 :(得分:1)
你想要这样的东西吗?
MyApp extends Application
MySecondApp extends MyApp
这是可能的。有几个用例。例如,为您的应用程序定义一个应用程序,但为特定的构建类型或产品风格(例如调试)覆盖它。或者您的(Android)测试的自定义应用程序:
MyApp extends Application
MyDebugApp extends MyApp
MyTestApp extends MyApp/MyDebugApp
根据AndroidManifest定义每个Application Class:
MyApp => main package
MyDebugApp => debug package
MyTestApp => androidTest package
答案 2 :(得分:0)
是的,这是可能的。扩展类的原因是重用父类中编写的代码并扩展其功能。