我一直听说关闭任何活动使用完成或使用 android.os.Process.killProcess(android.os.Process.myPid());
首先<: 我认为它们之间究竟有什么区别?
second<: 他们最喜欢的是什么?
第三个<: 有些时候,当我们通过意图传递数据时,我们会将一个活动的传递数据丢失到第二个,因此使用finish()或killprocess,数据将丢失?
答案 0 :(得分:7)
首先<: 我认为它们之间究竟有什么区别?
android.os.Process.killProcess(android.os.Process.myPid());
将终止所有进程,包括您启动的堆栈上的所有活动。的活动
finish
会破坏您调用finish
第二<: 他们最喜欢的是什么?
这取决于您的需求,但
并不常见killProcess
第三个<: 有些时候,当我们通过意图传递数据时,我们会将一个活动的传递数据丢失到第二个,因此使用finish()或killprocess,数据将丢失?
当然是killProcess! killProcess不会返回上一个活动。它会杀死在此过程中开始的所有活动。
答案 1 :(得分:0)
首先:android.os.process.killprocess(pid)用于立即终止进程(类似Linux),使用它是一个坏主意。使用finish()函数是一个好主意,但这意味着活动被销毁但是内存可能没有被释放,因为android会保留它,以防它必须重新启动。
第二:在killProcess上使用finish()
第三:如果你使用killProcess,你会立即丢失数据。您最好照顾活动生命周期,让所有事情顺利进行。你可以在使用finish()之前保存数据,或者你可以在onDestroy()中处理它,因为调用该函数来破坏活动:)