Activity#onDestroy()
的文档说:
在某些情况下,系统将简单地终止活动的托管进程,而不在其中调用此方法(或任何其他方法),因此不应使用它来执行在进程消失后保留的操作。
如果进程被终止,活动持有的所有本机资源是否会被释放? 或者是否有某些类型的本机资源可能会因框架杀死进程而泄露?
编辑:此答案解决了内存泄漏。 我也不担心临时文件留在磁盘上之类的事情。 我主要担心泄漏文件描述符。 (以及可能潜伏的未知未知...
如果进程被杀死,则在该进程中不会泄漏任何内容。
本文档存在的情况是,有人可能有一个想法,即在 a 中启动一个线程来执行工作,并期望该工作无限期地继续下去。 这是对活动的不正确使用。 相反,应该使用一个"粘性"服务,当它被Android杀死时重新启动,这样它就可以从它被杀死时停止的地方继续。