【发布时间】:2011-11-04 16:10:30
【问题描述】:
我有一组要在其中导航的活动,并且由于这些活动的初始化成本很高,因此我希望尽可能保留现有状态。问题是我可能不止一次打开相同的活动,每个活动的状态都不同,而且我没有看到标准 Android 标志可以帮助我解决这种情况。
这是一个视觉示例:
假设我有三项活动:
A、B、C
这些活动中的每一个都可以打开多次,每个活动都具有不同的状态。不仅这些活动的初始化成本很高,而且我还想保持用户的当前状态,例如滚动位置、所选项目等......
假设 A(1) 是状态 1 中活动 A 的实例,而 A(2) 是状态 2 中活动 A 的实例。A(1) 和 B(1) 不相关。
我想实现一个循环导航栈如下:
... --> A(1) --> A(2) --> B(1) --> B(2) --> B(3) --> A(3) -- > C(1) --> A(1) --> ...
由于活动很昂贵,我真的很想重用现有的实例。但是,如您在上面看到的,我可能需要保留大约 2 或 3 个相同活动的实例。
谢谢!
【问题讨论】:
-
到目前为止您尝试了哪些操作,是否有任何不起作用的代码?
-
目前我每次只创建一个新活动,并使用广播接收器来确保重复的活动/状态自行关闭。
标签: android user-interface android-activity navigation stack