在声明新意图之前,通过调用finish()完成当前活动是否会释放当前类的所有资源?
我在一个类(或活动)中使用inputstream。但是在不关闭输入流(connection.close())的情况下,我在当前活动上调用finish()后开始了一个新活动。但是,如果在先前的活动中未调用connetion.close()方法,则无法在新活动中从服务器获取任何输入流。
有什么办法可以转移到当前活动的所有资源,然后再转移到新活动(因为finish()似乎不起作用)。

最佳答案

区别在于活动认为onPause应该在“销毁”视图之前先完成执行,而onStop是视图已经在后台之后的生命周期阶段-意味着该活动不再可见。

在onPause内执行操作可确保在放开它们之前,您需要保存的项目仍然完好无损-例如,您需要将文本保存在EditText中,或者将RadioButtons的开/关位置保存下来,等等。

但是,释放不再需要这些东西,因此,如果在onStop中进行它应该没问题

关于android - 在Android中从一种 Activity 转到另一种 Activity 时取消分配所有资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9644022/

10-13 04:08