我有3个与3个xml文件相关的活动。
Activity1 ---> XML1
Activity2 ---> XML2
Activity3 ---> XML3
Activity1是用户在启动应用程序时看到的主要活动。通过此活动,用户可以导航到Activity2。然后到Activity3。
我的问题是,我应该销毁后台状态中的活动以进行性能调整吗?
答案 0 :(得分:1)
不,你可能不应该手动销毁它们。大多数时候,Android会智能地管理推入堆栈的活动;也就是说,这些被推回的活动实际上并没有被运行(它们会被暂停并且不会消耗CPU周期,只有内存http://developer.android.com/guide/components/activities.html)。
如果当前可见活动需要更多内存,Android会知道首先销毁这些暂停活动以释放更多内存用于当前活动。这样,弹出当前活动只会在必要时重新创建以前的活动。
抢先销毁此类不可见的活动实际上会阻碍性能,因为如果用户弹出当前活动,则需要重新创建以前的活动。
总结一下,你想要这样做的唯一原因是你想减少使用内存。但就像他们说的那样,未使用的内存是浪费的内存!
答案 1 :(得分:1)
这不是一个好习惯。活动保留在堆栈中,因为用户可能会重新访问它们。如果你杀死它们并且用户按下后退按钮,它们将不得不重新启动,这将花费一些时间并且会给用户带来不必要的烦恼。阅读有关任务和后台堆栈的更多信息here。