我有一个应用程序,有15个不同的部分。我使用单个Activity和FrameLayout,在其中使用NavigationDrawer加载15个不同的片段。在一些父片段下,我还有子片段,其中我使用滑动选项卡布局进行加载。
简而言之,我的应用程序中有很多片段。
问题是,如果我在添加到FrameLayout时将片段添加到BackStack中,只要我的应用程序存在,片段就永远不会被销毁(只有View被销毁,这是按设计预期的行为)。更糟糕的是,如果用户不断悬停在不同的片段上,BackStack的大小会不断增加,这可能会导致内存问题。
因此,我开始搜索并在SO中找到了几个线程,其中一些建议根本不使用片段。但是,如果我想使用自己的Activity设计每个部分,我必须为每个Activity添加NavDrawer(或至少将这些Activity扩展到基本Activity),我不确定是否明智。
这引出了一个问题,将许多片段放在单个活动中是否是一个好的设计?如果可以,我应该将片段添加到BackStack中吗?如果应该,那么内存问题怎么办?最后,有人尝试过在不同活动之间使用NavigationDrawer吗?它有效吗?
对于一系列问题,我深表歉意。
编辑:根据迄今为止的回复,我想澄清一点,我知道这是一种通用的问题,可能会得到基于不同观点的回答。因此,我想明确,我不寻求任何决定性的答案(因为可能没有),而是想开展一次讨论,听取不同观点的声音。
简而言之,我的应用程序中有很多片段。
问题是,如果我在添加到FrameLayout时将片段添加到BackStack中,只要我的应用程序存在,片段就永远不会被销毁(只有View被销毁,这是按设计预期的行为)。更糟糕的是,如果用户不断悬停在不同的片段上,BackStack的大小会不断增加,这可能会导致内存问题。
因此,我开始搜索并在SO中找到了几个线程,其中一些建议根本不使用片段。但是,如果我想使用自己的Activity设计每个部分,我必须为每个Activity添加NavDrawer(或至少将这些Activity扩展到基本Activity),我不确定是否明智。
这引出了一个问题,将许多片段放在单个活动中是否是一个好的设计?如果可以,我应该将片段添加到BackStack中吗?如果应该,那么内存问题怎么办?最后,有人尝试过在不同活动之间使用NavigationDrawer吗?它有效吗?
对于一系列问题,我深表歉意。
编辑:根据迄今为止的回复,我想澄清一点,我知道这是一种通用的问题,可能会得到基于不同观点的回答。因此,我想明确,我不寻求任何决定性的答案(因为可能没有),而是想开展一次讨论,听取不同观点的声音。