java - super.onStop() 的意义何在?

标签 java android crash superclass

我开始学习如何在 Android 上创建应用。我已经对 Java 有了一些了解,现在我正在尝试一些 Activity 事件。

我知道如何使用 onCreateonCreateOptionsMenu,现在我正在测试 onStop:

@Override
public void onStop(){
    //a function that simply creates and return an AlertDialog.Builder object
    displayPopup("Event", "Stopped", "OK").show();
}

我认为这会起作用,因为在编译时没有错误。但是当我尝试退出应用程序时,我希望会出现一个弹出对话框,但应用程序只是崩溃了。事实证明,我需要额外的一行才能使其工作:

super.onStop();

它没有做任何事情(至少我看不到任何改变)而且它有点没用,但如果没有这一行,应用程序就会一直崩溃。

任何帮助都会很棒,谢谢。

最佳答案

它调用父Activity 类中的onStop() 方法。当您查看源代码时,您会发现它进行了一些内部管理。

protected void onStop() {
    if (DEBUG_LIFECYCLE) Slog.v(TAG, "onStop " + this);
    if (mActionBar != null) mActionBar.setShowHideAnimationEnabled(false);
    getApplication().dispatchActivityStopped(this);
    mTranslucentCallback = null;
    mCalled = true;
}

关于java - super.onStop() 的意义何在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22924806/

相关文章:

java - 字符串对象实例

java - java中图像的像素值表示

android - 线性布局或水平 ScrollView 正在切断内容

android - 如何在一个 View 中将 2 个 edittext 和一个按钮分组,并在屏幕上显示该 View ?

android - Android在TextView中为一组数字设置动画,就像在纺车上一样

链接到两个第 3 方共享库时,C++ 程序崩溃

java - 在 C# 中解密 AES 加密字符串

java - 对于开发人员生产力来说,最好的服务器端 Web 框架是什么?

Android 9 Pie 崩溃(com.google.android.gms ... ClassNotFoundException)

android - 使用 toString() 将 URI 转换为 String 导致 Android 应用程序崩溃