Android - onStop()将被延迟调用

Ali*_*eza 10 android lag activity-lifecycle android-activity

我发现我的活动onStop()方法将在不到10秒的时间内被调用.我以前从未见过这种行为.

注意: -活动是singleTop,它以Intent.FLAG_ACTIVITY_REORDER_TO_FRONTflag 开头.

注意: -我正在使用Build Tools v23.0.2.

延迟不是之前,方法将立即调用.

Kaa*_*mel 5

我猜您正在开始另一个活动,并且您希望当前活动收到 onStop() 回调。根据活动生命周期,onPause() 方法在 onStop() 之前被调用。在某些情况下,onSaveInstance() 也会在 onStop() 方法之前调用。此外,当您调用 startActivity 或 startActivityForResult 时(同样,我假设这就是您希望调用 onStop 的原因),取决于传递的参数,如果这些参数需要计算/获取/等,它可能在系统可以执行startActivity之前需要一段时间,这将是Android最早发起生命周期调用的时间。如果此处没有任何代码,则无法看到在调用 onStop 之前还执行了什么。我建议你检查代码执行时间的时间线,从 startActivity 开始,当 onStop 被调用时,也许通过记录每次调用的时间戳,从 startActivity 调用之前的时间戳开始,以 onStop 开始时的时间戳结束,以查看时间花费在哪里。我还建议通过确保 startActivity 或 startActivityForResult 的所有参数之前都设置为其值来简化这一点,如果不是这样的话。


小智 -3

今天模拟器可能很慢

但 onStop() 应该作为单个命令立即调用

在此之前没有调用 onPause() 或任何内容