最初我通过创建新的布局对象(例如表格等)并显示它们来处理单个活动中的屏幕之间的移动。 然而,经过一些阅读后,我通过对不同的屏幕使用不同的活动改变了我在屏幕之间移动的方法。但是,作为intent调用的每个活动都会通过setExtra从主活动中检索大量变量,并传回大量变量。
现在我希望我的应用程序尽可能高效,我个人认为在一个活动中处理所有内容的内存较少且处理器密集程度较低,尽管这意味着变量始终存在(和消耗内存)取消链接一个单独的活动,他们在终止()被杀死。 但是你们比我更了解你所以你认为最好的方法是什么?
答案 0 :(得分:5)
如果为新屏幕启动新活动,则会将该活动添加到堆栈。这样,用户可以按下并返回上一个活动。只需更改布局即可删除此功能。我非常怀疑你是否会遇到性能问题。
最佳做法是开始一项新活动,最佳表现可能是使用您当前的方法。
答案 1 :(得分:1)
您的所有活动都将驻留在同一进程中并从中运行。所以你没有理由需要传递一堆变量。你可以(例如)将它们粘贴在代表你的上下文的单例中。当一个活动移交给另一个活动时,它会填充单例,然后下一个活动从那里获取数据。
当然,如果您打算与外部活动进行互动,您可能需要重新考虑这种方法,但我认为您可以将您的观点视为单独的活动。即使记忆力稍微高一些,我认为最好还是做正确的事情而只担心优化,当且并且只有当你需要它时才会显而易见。