我有3项活动: MainActivity,MovieActivity和ActorActivity。Android活动来回切换
我是新来的Android,我试图了解如何通过确保我不开始n个活动并耗尽内存来实现每个活动之间的转换。
下面是这种情况,用户可以通过去:
MainActivity(列表电影)---> MovieActivity开始上点击一个电影和演员显示,如果你点击一个演员---> ActorActivity开始。
现在,在演员活动中,我显示演员出演的电影列表,因此用户可能会回到他来到当前演员活动的同一部电影。而且这可以持续不断地来回或基本上在电影和演员活动之间进行切换。
我已经将MovieActivity和ActorActivity的父级活动设置为MainActivity,因此随时按下UP按钮将列出所有电影。
处理这种情况的最佳方法是什么?当用户点击返回按钮时,我不确定如果后面的轨迹是MovieA < - > ActorA来回像10次那样理想的行为。
感谢大卫,这似乎是合乎逻辑的,可能是我走的最佳途径。我会执行它,看看它是如何发展。在相关说明中,可以继续使用意向开始新的活动,而不是消耗越来越多的内存吗?有没有一种简单的方法可以让我随着时间检查我的应用程序的内存使用情况?例如,正如你所提到的,如果用户进行A-> B-> D-> E-> T-> Q说100个关卡,那么后面的堆栈会保持如此深的关卡吗?(例如,如果我打回100次我应该回到MainActivity A)。我应该记住任何性能考虑因素?感谢您的帮助! – falc0nit3
每次创建新的活动实例时,都会消耗内存。在很大程度上取决于你如何编程它以及你在视图中拥有什么。您可以使用'Debug'类中的各种方法来跟踪您的内存使用情况。是的,后台堆栈会跟踪100个级别或更多的活动,但在这种情况下,您最终可能会消耗太多内存,并且您的应用只会崩溃。你可能更有意义地自己管理这个“后退堆栈”,而不是继续无限地创建新的Activity实例。 –