gpt4 book ai didi

Android ondestroy后,仍然可以看到应用程序

转载 作者:行者123 更新时间:2023-11-30 01:17:43 24 4
gpt4 key购买 nike

我按下后退按钮以完成 Activity 。它调用 ondestroy。然后回家。但是,在那之后我可以在 android studio 中看到它仍然处于 Activity 状态。

我看着

Android monitor

监视器标签。

free 3
allocated 27 mb

ondestroy 和 backbutton 的代码:

public void onBackPressed() {
Log.d(TAG, "mainactivitymp3 backbuttpn");

final Context ctx = this;
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setCancelable(true);
builder.setTitle("end app?");
//builder.setMessage("yes?");
builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
});
builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
return;
}
});
builder.show();
}

@Override
protected void onDestroy() {
Log.d(TAG, "mainactivityondestry");
super.onDestroy();

if(mMediaPlayer!=null ) {
Log.d(TAG, "mainactivityondestry mediaisplay not null");
mMediaPlayer.release();
}
else{
Log.d(TAG, "mainactivityonondestry mediaisplayisplaying"+mMediaPlayer.isPlaying());
}
}

@Override
protected void onStop() {
Log.d(TAG, "mainactivityonstop");
super.onStop();

if(mMediaPlayer!=null ) {
Log.d(TAG, "mainactivityonstop mediaisplay not null");
mMediaPlayer.stop();
// mMediaPlayer.release();//i usethis ondestroy
}
else{
Log.d(TAG, "mainactivityonstop mediaisplayisplaying"+mMediaPlayer.isPlaying());
}
}

我有三星平板电脑。当我在家附近按左键时,它会显示我最近使用过的应用程序或内存中仍然保留的应用程序。我不知道哪个是真的。

至少过去了 20 分钟,但我仍然可以在那里看到我的 Activity 。

那些是日志:(20 分钟,在我回家后,没有来 self 的标签的日志,但是为了冗长,它一直在继续)

mainactivitymp3 backbuttpn
mainactivityonpause***********
mainactivityonpause mediaisplay not null isplaying
mainactivityonpause ends***********
mainactivityonstop
mainactivityonstop mediaisplay not null
mainactivityondestry
mainactivityondestry mediaisplay not null

当我从平板电脑按钮菜单中选择我的应用程序时,它从 oncreate 开始。可能就像我第一次运行它一样。

最佳答案

是因为你的应用没有被kill掉。它将仍在 Android 操作系统内存中。

你可能需要做的是

@Override 
public void onBackPressed() {

android.os.Process.killProcess(android.os.Process.myPid());
// This above line close correctly
}

关于Android ondestroy后,仍然可以看到应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37587234/

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