Activity.finish() 方法到底在做什么

android

1个回答

写回答

112233@@

2025-06-19 15:40

+ 关注

Android
Android

Activity.finish() 方法是Android开发中常用的一个方法,用于结束当前的Activity。该方法会执行一系列的操作,以确保Activity的正常退出。

Activity.finish() 方法的作用

当调用Activity.finish() 方法时,系统会执行以下操作:

1. 结束当前Activity:Activity.finish() 方法会立即结束当前的Activity,并将其从活动堆栈中移除。这意味着用户将无法再返回到该Activity。

2. 调用Activity的生命周期方法:在Activity.finish() 方法被调用之前,系统会依次调用onPause()、onStop()和onDestroy()方法。这些方法用于处理Activity的暂停、停止和销毁的操作。

3. 释放资源:Activity.finish() 方法会释放当前Activity所持有的资源,包括内存、文件句柄、网络连接等。这样可以确保资源被妥善释放,避免内存泄漏和资源浪费的问题。

4. 返回结果给上一个Activity(可选):在某些情况下,当前Activity可能需要向上一个Activity返回结果。通过调用Activity.setResult() 方法,可以将结果传递给上一个Activity,并在其onActivityResult() 方法中进行处理。

代码示例

下面是一个简单的代码示例,演示了如何使用Activity.finish() 方法结束当前Activity:

Java

public class MAInActivity extends AppCompatActivity {

// ...

private Button finishButton;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setcontentView(R.layout.activity_mAIn);

finishButton = findViewById(R.id.finish_button);

finishButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

finish(); // 结束当前Activity

}

});

}

// ...

}

在上面的示例中,我们在MAInActivity中添加了一个Button,并为其设置了一个点击事件监听器。当用户点击该按钮时,会调用Activity.finish() 方法来结束当前Activity。

Activity.finish() 方法是Android开发中非常常用的一个方法,用于结束当前Activity。通过调用该方法,系统会执行一系列操作,包括结束Activity、调用生命周期方法、释放资源等。在实际开发中,合理使用Activity.finish() 方法可以提高应用的性能和用户体验。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号