Android - 哪个更高效?

5

大家好,我快要完成我的第一个Android应用程序了。它是一个笔记应用程序,具有添加、编辑、查看等屏幕...

最初,我通过创建新的布局对象(例如表格等)并显示它们来处理在单个活动中移动屏幕。然而,在更多阅读之后,我改变了移动屏幕的方法,使用不同的活动来处理不同的屏幕。但是,每个作为意图调用的活动都通过setExtra检索大量变量,并返回大量变量。

现在,我希望我的应用程序尽可能高效,我个人认为在一个活动中处理所有内容比较节省内存和处理器资源,虽然这样做的负面影响是变量始终存在(并消耗内存),不像在单独的活动中,它们在finish()时被销毁。但是,你们比我更有知识,那么你认为哪种方式是最好的呢?


你想做的事情很奇怪,为什么需要在活动之间传递这么多变量?这些变量是什么类型的?“大量”指的是什么? - Dalmas
你是否实际测量了任何性能问题?或者你是否得到了ADNR对话框?如果没有,那么你可能不需要担心性能。 - Heiko Rupp
2个回答

5
如果您为新屏幕启动了一个新的活动,则会将该活动添加到堆栈中。这样,用户可以按返回键并返回到上一个活动。仅更改布局会删除此功能。我怀疑您无论采用哪种方式都不会遇到性能问题。
最佳实践是启动一个新活动,最佳性能可能是使用当前方法。

1
此外,多个活动的方法使得重用更加容易。 - Heiko Rupp

1

所有的活动都将驻留在同一个进程中运行。因此,您没有理由需要传递一堆变量。您可以(例如)将它们放入表示上下文的单例中。当一个活动移交给另一个活动时,它会填充单例,下一个活动从那里获取其数据。

当然,如果您打算让外部活动与您的活动进行交互,您可能需要重新考虑这种方法,但我认为将视图保持为单独的活动是可行的。即使内存稍微高一些,我认为最好正确地做事情,只有在明显需要优化时才担心优化。


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