我正在开发一个 Android 应用程序,它有多个屏幕,用户需要在这些屏幕之间导航,我很好奇在这些屏幕之间切换时的最佳做法是什么。我在为每个屏幕创建一个新 Activity 和简单地更改 View (setContentView(R.layout.whatever)) 之间左右为难。所有屏幕都至少共享一些变量值,因此我倾向于更改 View 和使用类级变量,但我担心单个 Activity 可能会变得非常大,并且会混淆单个文件中多个屏幕的逻辑。我希望保持代码干净和分离,但如果不需要的话,我也不想在 View 之间传递多个变量。
作为 Android 开发的新手,我希望社区中一些更有经验的成员可以分享他们的想法,让我知道如何最好地处理它。
谢谢!
注意: 我不打算使用取景器。我的想法是使用按钮单击事件,然后调用 setContentView() 为我接下来要显示的页面创建一个新 View 。
示例:我的应用程序使用 R.layout.main 作为它的 View 启动。用户单击“帮助”按钮,它会调用一个运行 setContentView(R.layout.help) 的方法;显示帮助屏幕而不是切换到帮助 Activity 。
最佳答案
您应该为每个屏幕使用一个 Activity ,因为这将充分利用框架,并允许操作系统在事情变得紧张时有选择地关闭屏幕。
如果您只有一项 Activity 并且资源紧张,则操作系统有两种选择; kill everything 或 kill nothing,如果用户没有使用你的应用程序,那么它很可能会杀死所有东西。
如果您使用每个屏幕的 Activity ,操作系统可以关闭用户一段时间未访问的一些屏幕,同时仍然允许其他屏幕保持 Activity 状态,从而允许用户快速返回到它们。
至于共享变量和值,如果它们被广泛共享,您可以使用 SQLite 数据库或 SharedPreferences 存储来传递它们,或者如果它们仅在一个屏幕到下一个屏幕之间使用,则使用 Intent 中的 putExtra 方法。
关于Android - Activity 与 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3208445/