在android中调用finish()方法的最佳实践?

我的大部分活动都是从服务器加载dynamic数据,当页面回到焦点时,无论如何我都会重新加载。 如果我只是要重新加载它们,那么保留它们看起来很浪费,所以如果用户从页面中导航,我想对它们调用finish()。 它令人困惑,如果一些活动,你可以按下后退button,其他人没有,因为我已经调用了finish(),所以我想知道是否它的不好的做法只是调用finish()在用户导航离开的所有活动? (我有一个导航栏在每个活动的底部,所以后退button不是必要的)。 或者,更好的做法是不要在任何活动中调用finish(),只希望它们不要放慢电话,操作系统将照顾垃圾收集? 我不熟悉Android编程,也没有Android手机,因此我不确定在这种情况下通用/最佳实践是什么,或者只是个人品味问题。

另外,是否有可能指示Android保留活动的历史logging,以便后退button仍能正常工作,但是当它们离开时完成它们,以便它们不会不必要地占用资源?

Solutions Collecting From Web of "在android中调用finish()方法的最佳实践?"

虽然你可能会重新加载所有的数据返回到活动,但仍然没有意义上调用finish()

当隐藏活动时,他们不使用资源,也不是真正的问题。 只要保持原样,然后当用户导航回来时,它将根据需要重新加载它。

在这种状态下,如果需要的话,他们也可以被垃圾收集 – 这一切都是由Android的照顾。

在大多数情况下,你不需要(也不应该)调用finish(); Android负责pipe理您的活动。

如果你需要在用户离开活动的时候进行清理,你可以在各种活动callback中做这样的事情,比如onDestroy()。

如果您还没有这样做,请阅读Android开发人员指南中的“ 活动 ”。

除非您确定活动不会长时间执行,否则不应该调用finish() 。 让Android处理如何处理它会更好。 把你的清洁代码放在onPause()和你的加载代码中onResume()