Android:完成()总是调用Destroy()吗?

2022-09-01 16:51:30

简单的问题:你能确定会打电话吗?我没有找到任何确认。finish()onDestroy()


答案 1

简单的问题:你能确定sume()会调用Destroy()吗?

首先,这个答案假设您指的是Android的类及其方法和生命周期方法。Activityfinish()onDestroy()

其次,这取决于你对“确定”的定义:

  • 您的进程可能会在 和 之间终止,其原因与触发调用finish()onDestroy()finish()

  • 设备制造商或ROM模组可能会引入一些棘手的更改,这些更改会破坏 和 之间的连接finish()onDestroy()

  • 电池可能会在和之间耗尽finish()onDestroy()

  • 等。

三、不打电话。您可以通过阅读源代码来判断这一点。 通常触发对 的调用finish()onDestroy()finish()onDestroy()

一般来说,最终会导致被召唤。finish()onDestroy()


答案 2

不,你不能确定!

调用 finish() 通常会根据活动生命周期触发 onDestroy(),但你不能依赖它。特别是不用于保存您的数据。文档清楚地说

do not count on this method being called as a place for saving data! 

推荐