安卓活动栈大小问题?

5

我有一个应用程序,其中包含许多活动。这些活动中的许多可以启动其他活动,因此用户预计会生成一个相当大的活动堆栈。

我目前正在使用默认的活动启动行为。有人知道,如果有一个大的活动堆栈(如>100),是否会存在问题?是否有限制?是否会降低性能,导致ANR对话框或类似的问题?

谢谢

2个回答

2

当Android需要释放内存或其他资源时,它会杀死活动。根据Activity生命周期,只要活动不再可见,就可以将其杀死。

假设您正确处理了活动的杀死和重启,那么您就不需要担心。

顺便说一句,我很难想象从用户角度来看,我需要在一个应用程序中访问超过100个活动的情况...


2
Mayra在这个问题上的推理是错误的。只要它们是来自当前运行的应用程序不同的应用程序的活动,Android就会从堆栈中杀掉它们。
因此,如果您的应用程序打开100个活动,那么这100个活动将保留在堆栈中,很可能会出现OutOfMemoryError。
尝试以不同的方式构造您的应用程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接