Android 停止/重新启动活动时的postInvalidateDelayed()和onDraw()行为

Android 停止/重新启动活动时的postInvalidateDelayed()和onDraw()行为,android,Android,在我的应用程序中,我试图在5秒钟后通过调用postInvalidateDelayed(5000)更改视图的状态/显示 我对以下两种情况下的postInvalidateDelayed()和onDraw()行为有疑问: 场景1: postInvalidateDelayed(5000)调用当前活动“活动a”中的视图“视图V” 用户在将失效事件传递到“视图V”之前离开当前“活动A”(即,“活动A”仍在活动堆栈上) 用户使用后退按钮/方法返回“活动A”。super.onBackPressed()(即,“活

在我的应用程序中,我试图在5秒钟后通过调用
postInvalidateDelayed(5000)
更改视图的状态/显示

我对以下两种情况下的
postInvalidateDelayed()
onDraw()
行为有疑问:

场景1:

  • postInvalidateDelayed(5000)调用当前活动“活动a”中的视图“视图V”
  • 用户在将失效事件传递到“视图V”之前离开当前“活动A”(即,“活动A”仍在活动堆栈上)
  • 用户使用后退按钮/方法返回“活动A”。
    super.onBackPressed()
    (即,“活动A”未被重新创建)
  • 场景2:

  • postInvalidateDelayed(5000)
    调用当前活动“活动a”中的视图“视图V”
  • 用户在按下“主页”按钮(即“活动A”仍在活动堆栈上)将失效事件传递到“视图V”之前,从当前的“活动A”导航离开
  • 用户通过再次启动应用程序导航回“活动A”(即“活动A”未被重新创建)
  • 在上述两种情况下,失效事件是传递给“视图V”还是丢失?我注意到在这些场景中失效事件丢失了。确保在活动(活动A)重新启动/恢复时可以传递此类失效事件的最佳方法是什么


    如有任何意见,我们将不胜感激。谢谢。

    这需要什么?您可以在您的
    onResume()

    中调用
    postInvalidateDelayed(5000)
    ,谢谢您的建议,克里斯,我想我可以试试看应用程序逻辑是否与此配合。为了更好地理解失效事件,请您提供以下方面的见解:1。在活动暂停或停止之前安排的事件是否无效在活动恢复或重新启动时排队等待传递?2.如果上述情况没有发生,并且失效事件丢失,那么我认为推荐的方法是按照您的建议执行——在onResume()中调用Invalidate?提前感谢您的投入。