gpt4 book ai didi

android - super.onCreate(savedInstanceState);

转载 作者:IT老高 更新时间:2023-10-28 13:10:02 25 4
gpt4 key购买 nike

我创建了一个 Android 应用程序项目,在 MainActivity.java > onCreate() 它正在调用 super.onCreate(savedInstanceState)

作为初学者,谁能解释一下上面这行的目的是什么?

最佳答案

您所做的每个 Activity 都是通过一系列方法调用启动的。 onCreate() 是这些调用中的第一个。

您的每一个 Activity 都直接扩展 android.app.Activity 或通过继承 Activity 的另一个子类。

在 Java 中,当您从一个类继承时,您可以覆盖其方法以在其中运行您自己的代码。一个非常常见的例子是在扩展 java.lang.Object 时重写 toString() 方法。

当我们重写一个方法时,我们可以选择完全替换我们类中的方法,或者扩展现有父类的方法。通过调用 super.onCreate(savedInstanceState);,您告诉 Dalvik VM 在父类的 onCreate() 中的现有代码之外运行您的代码。如果您省略此行,则仅运行您的代码。现有代码被完全忽略。

但是,您必须在您的方法中包含这个 super 调用,因为如果您不这样做,那么 Activity 中的 onCreate() 代码将永远不会运行,并且您的应用会遇到各种问题,例如没有为 Activity 分配上下文(尽管在您有机会发现自己没有上下文之前,您会遇到 SuperNotCalledException)。

简而言之,Android 自己的类可能非常复杂。框架类中的代码处理 UI 绘制、房屋清洁以及维护 Activity 和应用程序生命周期等内容。 super 调用允许开发人员在后台运行这个复杂的代码,同时仍然为我们自己的应用程序提供良好的抽象级别。

关于android - super.onCreate(savedInstanceState);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14671897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com