我正在开发一项行动,可以进行一些自己的国家管理。我正在尝试区分以下质量案例:

  1. 新发布
  2. 任务开关(主页按钮长点击)
  3. 在同一应用程序中的其他活动之后恢复
  4. 睡觉后醒来
  5. 方向更改

活动的意图或其他地方是否可以帮助我区分这些问题?

对于好奇和一些环境...我想保留我的内部历史记录堆栈在4&5上。在情况2和3上,我会保留相同的当前页面,但要删除历史记录(允许正常的返回按钮功能接管这一点)。案例1将初始化为活动的内部开始页面(并且可以在ongreate的一些帮助下轻松检测到)。

有帮助吗?

解决方案

活动的意图或其他地方是否可以帮助我区分这些问题?

项目#4与 onResume(), , AFAIK。

项目#5最好通过 android:configChangesonConfigurationChange() 虽然您可以通过从中返回一些东西来“检测到” onRetainNonConfigurationInstance() 看看它是否在那里 onResume() 通过 getLastNonConfigurationInstance().

其他情况不仅仅是三个案例,而且可能是两倍,一旦您开始考虑“被踢出记忆以释放RAM”之类的事情。

在袖口上,感觉就像您做出了一些不幸的建筑决策(“内部历史堆栈...擦除历史记录...允许正常的后退按钮功能接管”)。 Android围绕许多廉价的活动而设计,您似乎违反了这种戒律。欢迎您这样做,但请记住,对您选择的模式的支持可能会受到限制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top