3

我是一名经验丰富的开发人员 (WPF),正在转向 Android 开发。我的问题:我正在开发的一个应用程序允许用户浏览他们的本地存储(例如 SDCARD)并选择一个文件。现在,我是否应该简单地创建一个新活动(在用户做出选择之后)来处理我想让应用程序对所选文件执行的操作,或者 - 是传递所选文件的路径/名称的更好方法回到主 Activity 并让 IT 启动下一个 Activity?

换句话说,让主要活动启动其他(支持)活动是更好的做法,还是将一个活动链连接到另一个活动链并不断循环是完全可以和正常的?

谢谢!

4

2 回答 2

1

简短而甜蜜:使用单独的活动,因为这就是 Android 设计用于处理不同 UI 操作的方式。

来自 Android 开发文档:

系统中的活动作为活动堆栈进行管理。当一个新的 Activity 启动时,它被放置在栈顶并成为正在运行的 Activity——之前的 Activity 始终保持在它的下方,直到新的 Activity 退出后才会再次来到前台。

一个活动基本上有四种状态:

  • 如果某个活动在屏幕的前台(在堆栈的顶部),则它处于活动状态或正在运行。

  • 如果一个活动失去焦点但仍然可见(也就是说,一个新的非全尺寸或透明活动的焦点位于您的活动之上),它会被暂停。暂停的活动是完全活动的(它维护所有状态和成员信息并保持连接到窗口管理器),但可以在内存极低的情况下被系统杀死。

  • 如果一个活动被另一个活动完全遮挡,它就会停止。它仍然保留所有状态和成员信息,但是,它不再对用户可见,因此它的窗口是隐藏的,并且当其他地方需要内存时,它通常会被系统杀死。

  • 如果一个活动被暂停或停止,系统可以通过要求它完成或简单地终止其进程来从内存中删除该活动。当它再次显示给用户时,它必须完全重新启动并恢复到之前的状态。
于 2012-06-16T15:23:13.293 回答
0

是的,有一个活动链是完全可以的。主要是因为导航:如果用​​户选择文件,使用它然后按下“返回”按钮,那么他会看到之前打开的活动(然后,也许,他会选择另一个文件)。在其他方面,这对用户来说将是一种不可预测的行为。

于 2012-06-16T15:20:32.267 回答