我正在开发一个可以执行自己的状态管理的Activity。我试图区分以下onResume案例:
活动的意图或其他地方是否有某些东西可以帮助我区分这些?
对于好奇和一些背景......我想保留我的内部历史堆栈4& 5.案例2& 3,我会保留相同的当前页面,但擦除历史记录(允许正常的后退按钮功能在此时接管)。案例1将初始化为活动的内部起始页面(并且可以在onCreate的帮助下轻松检测到)。
答案 0 :(得分:1)
活动的意图或其他地方是否有某些东西可以帮助我区分这些?
第4项与onResume()
,AFAIK无关。
项目#5可以通过android:configChanges
和onConfigurationChange()
更好地处理,但您可以通过从onRetainNonConfigurationInstance()
返回内容并在onResume()
中查看它是否存在来“检测”它通过getLastNonConfigurationInstance()
。
其他人不仅仅是三个案例,而且可能是其中的两倍,一旦你开始考虑诸如“被释放内存以释放RAM”这样的事情作为一种可能性。
关闭袖口,感觉就像你做了一些不幸的架构决定(“内部历史堆栈......擦除历史......允许正常的后退按钮功能在那时接管”)。 Android是围绕许多廉价活动设计的,你似乎违反了这个规则。我们欢迎您这样做,但请记住,Android对您所选模式的支持可能有限。