Java 如何在单击按钮时销毁活动?
我正在努力学习更多关于活动生命周期的知识。我可以成功地记录所有生命周期事件。 现在,当我点击一个按钮说“销毁”时,我试图知道如何销毁一个活动。我的代码如下:Java 如何在单击按钮时销毁活动?,java,android,android-activity,activity-lifecycle,Java,Android,Android Activity,Activity Lifecycle,我正在努力学习更多关于活动生命周期的知识。我可以成功地记录所有生命周期事件。 现在,当我点击一个按钮说“销毁”时,我试图知道如何销毁一个活动。我的代码如下: package com.mavenmaverick.lifecycle; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; public class MainActivity
package com.mavenmaverick.lifecycle;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
String LOG_TAG = "EVENT";
@Override
public void onCreate(Bundle savedInstanceState) {
Log.d(LOG_TAG, "onCreate()");
super.onCreate(savedInstanceState);
}
@Override
public void onStart()
{
Log.d(LOG_TAG, "onStart()");
super.onStart();
}
@Override
public void onStop()
{
Log.d(LOG_TAG, "onStop()");
super.onStop();
}
@Override
protected void onDestroy() {
Log.d(LOG_TAG, "onDestroy()");
super.onDestroy();
}
@Override
protected void onPause() {
Log.d(LOG_TAG, "onPause()");
super.onPause();
}
@Override
protected void onResume() {
Log.d(LOG_TAG, "onResume()");
super.onResume();
}
}
只需在按钮的onClickListener中调用finish()只需在按钮的onClickListener中调用finish()调用finish()
finish()将触发onDestroy()
首先,这个答案假设您指的是Android的Activity类及其finish()方法和onDestroy()生命周期方法
其次,这取决于您对“确定”的定义:
您的进程可能会在finish()和ondestory()之间终止,原因与触发finish()调用的原因无关
- 设备制造商或ROM调试器可能会引入一些扭曲的更改,从而破坏finish()和onDestroy()之间的连接
- 在finish()和onDestroy()之间,电池可能会耗尽
- 第三,finish()不调用onDestroy()。您可以通过阅读源代码来了解这一点。finish()通常触发对onDestroy()的调用
- 设备制造商或ROM调试器可能会引入一些扭曲的更改,从而破坏finish()和onDestroy()之间的连接
- 在finish()和onDestroy()之间,电池可能会耗尽
- 第三,finish()不调用onDestroy()。您可以通过阅读源代码来了解这一点。finish()通常触发对onDestroy()的调用
在按钮的
onClickListener
中执行此调用finish()
。我听说finish()不会破坏进程并释放内存。它只是从活动堆栈中删除活动。什么过程?为什么需要释放内存?在按钮的onClickListener
中调用finish()
。我听说finish()不会破坏进程并释放内存。它只是从活动堆栈中删除活动。什么过程?为什么您觉得需要释放内存?但是,我听说finish()不会破坏您的进程并释放内存。它只是将活动从活动堆栈中删除,但我听说finish()不会破坏进程并释放内存。它只是从活动堆栈中删除活动。