安卓神奇问题讨论,点击返回后上一个Activity onDestroy方法被调用

安卓神奇问题讨论,点击返回后上一个Activity onDestroy方法被调用

尐偏执 发布于 2021-11-29 字数 1426 浏览 924 回复 2

首先从Activity A点击某个按钮跳转至Activity B,在B中点击返回键,B的onDestroy方法被调用,接着A的onDestroy方法也被调用了,再接着界面回到了A界面,从网络 上取数据但是所有的变量都为空了。

   请问A的onDestroy方法为什么会被调用?为什么掉了onDestroy方法后还能回到A界面?又为什么所有的变量都变成空了?

A界面中按钮的方法如下

public void shipin(View view) {
		exit();
		speedCheck.speedClose();
		Intent intent = new Intent(this, VideoFileActivity.class);
		startActivity(intent);
	}

B界面中onKeyDown方法如下:

@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		switch (keyCode) {
		case KeyEvent.KEYCODE_BACK:
			if (Helper.OLD_ACTIVITY.endsWith("VideoFourActivity")) {
				Helper.CAR_IP = Helper.OLD_CAR_IP;
			}
			break;
		default:
			break;
		}
		return super.onKeyDown(keyCode, event);
	}

B的onDestroy方法如下

@Override
	protected void onDestroy() {
		/**
		 * MapView的生命周期与Activity同步,当activity销毁时需调用MapView.destroy()
		 */
		mMapView.destroy();
		super.onDestroy();
	}

准确的说是,A的onDestroy方法偶尔会被调用,概率比较高!!!!

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南汐寒笙箫 2021-12-01 2 楼

我也是醉了 系统设置里设置了不保留后台活动。。。

回忆凄美了谁 2021-12-01 1 楼

我也遇到这个问题了   A的生命周期应该是Onstop()啊  为什么OnDestroy会被调用  内存不够??