关于stackoverlow,很少有类似的问题,但我在如何为更复杂/多个活动应用程序实现Action Bar模式的任何一个答案上都没有找到明确的解释。
据我所知,这样做有两个选择:
1.)实现多个活动--实现/包含操作栏->问题是,当你午餐新活动时,虽然它有相同的动作条,但它有这个转换,并且跳过屏幕,所以很明显,它是一个新的“窗口”,新的单独屏幕,它扼杀了单一应用程序导航框架的感觉。
2.)使用单个FragmentActivity,在内部使用动作条,并使用多个可以膨胀内容框架的片段。还是没有?从“外观和感觉”来看,我认为Gmail应用程序大多是这样完成的。
3.)TabActivity --这是不可取的。
对于第二个解决方案(单个活动,多个片段),我担心将来是否会出现性能问题?在这种情况下,android是如何处理内存的?它会像对活动一样,杀死不活跃的碎片来释放空间吗?或者它会杀死整个应用程序,或者用户手机会超载?
也许我遗漏了一些东西,但我发现实现android导航模式和片段的使用非常令人费解:/
是否有任何理由反对在电话中使用一个带有多个片段的活动?(将出现cca 5-6段,其中有些片段是嵌套的)
发布于 2013-09-16 05:11:53
首先,您可能认为this question和this answer是有用的。
虽然您讨论的是actionbar,但真正的问题是使用多个片段的ONE活动或多活动的模式。正如前一个链接所述,尽管“过度简化教程”建议启动另一项活动,以便在电话情况下显示项的内容,但这可能会导致一些重复的逻辑或代码。
最后,建议使用“具有多个片段的FragmentActivity”。由于这违背了谷歌的建议,Stephen Asherson说--我引用这句话:“不要认为它是被迫使用许多活动的。把它想象成有机会将你的代码分割成许多片段,并在使用它们时节省内存。”
PS。仅供您参考,如果您在切换片段中更改了活动的操作栏,那么在按下"back“键并更改Back堆栈时,您可能需要做一些事情来正确处理UI更改。通常,重写onbackstackchanged()函数来处理UI。
https://stackoverflow.com/questions/18820173
复制相似问题