gpt4 book ai didi

Android ActionBar 模式 - 多个 Activity 或 fragment

转载 作者:行者123 更新时间:2023-11-29 01:49:57 25 4
gpt4 key购买 nike

在 stackoverlow 上几乎没有类似的问题,但我没有在任何答案中找到关于如何为更复杂/多 Activity 应用程序实现 Action Bar 模式的明确解释。

据我所知,有两种选择:

1.) 实现多个 Activity ,并在每个 Activity 中实现/包括操作栏--> 问题是当你午餐新的 Activity 时,虽然它有相同的 Action 栏,但它有那个过渡,并跳过屏幕,所以很明显它是一个新的“窗口”,新的独立屏幕,并且它消除了单一应用程序导航框架的感觉。

2.) 使用单个 FragmentActivity,在其中使用操作栏,并使用多个可扩充内容框架的 fragment 。--> 这是操作栏模式的非常好的实现,但问题是它违背了谷歌的建议,即在手机的情况下,一个 fragment 应该在一个 Activity 中。或者它没有?从“外观和感觉”来看,我会说 Gmail 应用程序主要是通过这种方式完成的。

3.) TabActivity - 已弃用。

对于第二种方案(单Activity,多Fragments)我担心以后会不会有性能问题?在那种情况下android如何处理内存?它会像处理 Activity 一样杀死非 Activity fragment 以释放空间吗?或者它会杀死整个应用程序,或者用户手机会重载?

也许我在那里遗漏了一些东西,但我发现实现 android 导航模式和 fragment 的使用非常困惑:/

是否有任何理由反对在手机上进行一项 Activity 和多个 fragment ?(将有大约 5-6 个 fragment ,其中一些有嵌套 fragment )

最佳答案

首先,你可能会想到this questionthis answer有用。

尽管您在谈论操作栏,但真正的问题是关于ONE activity 与多个 fragment 或MULTIPLE activity 的模式。正如前面的链接所述,虽然“过于简化的教程”建议启动另一个 Activity 以在电话情况下显示项目的内容,但这可能会导致一些重复的逻辑或代码。

最后,推荐使用“FragmentActivity with multiple fragments”。因为它违反了谷歌的建议,Stephen Asherson says and I quote:“不要认为它是被迫使用许多 Activity 。将其视为有机会将您的代码拆分为许多 fragment ,并在使用它们时节省内存”。

附言。仅供引用,如果您在切换 fragment 时更改 Activity 的操作栏,您可能希望在按下“后退”键并更改后退堆栈时正确处理 UI 更改。通常,覆盖 onbackstackchanged() 函数来处理 UI。

关于Android ActionBar 模式 - 多个 Activity 或 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18820173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com