Android - 在 kotlin 中重载应用程序类构造函数是否正确?

标签 android kotlin android-lifecycle android-application-class

有人建议在主应用程序类中实现这样的东西:

class MyApplication(someProp = SomeClass()): Application {
    init {
        ... do some initializations
    }
}

我一直使用 OnCreate 方法来执行应用程序的所有初始化,并且我非常确信重载构造函数是错误的,即使它们是可选参数;但我有点怀疑它是否有效。

最佳答案

这将起作用,因为您为该构造函数参数提供了默认值,因此还会生成一个空构造函数,这就是将使用的构造函数。

但是,我认为这样做没有任何目的。 Application 类仅由操作系统实例化,并且是通过反射、调用空构造函数来完成的。因此,通过添加此参数,可以传达出它还有其他预期用途,但这是不可能的情况。那是钝代码。将这个 SomeClass() 实例化放在初始化 block 中会更有意义。

关于Android - 在 kotlin 中重载应用程序类构造函数是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67792907/

相关文章:

Android - 滚动 ListView 时微调器选择消失

android - Jetpack 撰写 : how to reset LazyListState?

kotlin - 是否可以在编译时验证是否为 Kotlin 中的工厂类调用了所需的函数?

使用 FragmentTransaction.replace() 时 Android fragment View 状态丢失

android - 错误 : Failed to resolve: androidx. 生命周期 :lifecycle:2. 2.0-beta01

android - 如何编程图形界面是盲的?

java - 具有多个观察者的 Android Rx 生命周期

kotlin - 如何检查 Kotlin 数据类中的属性数量?

android - 尽可能长时间地防止 Activity 被破坏

Android App 在没有任何 logcat 或任何异常的情况下崩溃