什么是 Android 关闭/结束一个活动并仍希望它经历 onPause、onStop 和 onDestroy 的方法?
我知道 Activity.finish(),但这只能保证调用 onDestroy() 而不是其他两个函数。原因是根据 Android 文档,应在 onStop() 中进行数据库访问,以避免减慢用户的速度,这正是我的意图,将所有“保存”保留到 onStop() 中,然而,我刚刚注意到当调用 finish() 时,该函数并未被调用...
那么... 在这种情况下有什么解决方案?我的意思是,我可以创建一个布尔变量,但是否有更复杂的方法?甚至有另一种结束活动的方法,比如调用 onDestory(),这样做是不正确的吗?
编辑:
抱歉,我打错了那部分,我想说的是在 onStop() 中保存到数据库,而不是在 onDestroy() 中。
我知道 Activity.finish(),但这只能保证调用 onDestroy() 而不是其他两个函数。原因是根据 Android 文档,应在 onStop() 中进行数据库访问,以避免减慢用户的速度,这正是我的意图,将所有“保存”保留到 onStop() 中,然而,我刚刚注意到当调用 finish() 时,该函数并未被调用...
那么... 在这种情况下有什么解决方案?我的意思是,我可以创建一个布尔变量,但是否有更复杂的方法?甚至有另一种结束活动的方法,比如调用 onDestory(),这样做是不正确的吗?
编辑:
抱歉,我打错了那部分,我想说的是在 onStop() 中保存到数据库,而不是在 onDestroy() 中。
虽然 onPause() 方法在 onStop() 方法之前被调用,但你应该使用 onStop() 来执行更大、更耗费 CPU 的关闭操作,例如将信息写入数据库。
onStop()
吗?因为finish()
不会经过onStop()
,只会经过onDestroy()
。 - LuckyMe