0

您知道一旦触发 onStop 方法是否可以延迟它吗?

我正在重写 onStop() 方法,并且我想在它调用 super.onStop() 之前添加一个小延迟。

(我有一个显示视图的活动 - 带有表面支架的对话框 - 当我关闭活动时,视图仍然可见 - 类似于 1s - 而主屏幕或先前的活动已经显示)

我有多种关闭活动的方式,并且我不想为每种方式实现行为,这样把它放在 onStop() 对我来说是个好主意。

提前致谢。G。

4

2 回答 2

0

不,这是不可能的。

1) 你不能在 UI 线程方法中延迟返回超过几毫秒,而不会有应用程序无响应错误的风险。

2) 必须在返回前调用超类方法,否则一般会报错。

要在 UI 方法之后的延迟时间导致某些事情发生,您将启动一个计时器。但是,当您的 Activity 停止可见性时会调用 onStop() ,因此即使您当时设法运行了一些代码,您也不会真正在以后做任何可见的事情。另外,请记住 onStop() 很可能在通往 onDestroy() 的路上被调用 - 如果后者甚至在销毁之前被调用(不能保证它会被调用)。因此,您的计时器延迟代码甚至可能无法运行。

于 2013-10-23T15:40:54.307 回答
-1

这只是一个猜测,完全没有尝试过,但你Thread.sleep(1000)以前不能打电话super.onStop()吗?

于 2013-10-23T15:28:14.807 回答