onResume被调用了很多次,即使在它来到前台之后。为什么会这样?

问题描述 投票:0回答:2

我想只在应用进入后台时调用onResume,但当我在应用内和切换活动时,它一直被调用。如何在应用程序打开时停止onResume,同时从另一个活动转到我实际写了onResume代码的那个活动?任何形式的参考或帮助将被感激。

android android-lifecycle
2个回答
0
投票

这是正常的行为,我向你推荐安卓的 活动 & 碎片 生命周期。

enter image description here

一个活动在切换活动时调用onPause()是正常的。虽然我怀疑你的底层设计可能存在缺陷,但你可能在寻找更适合的onStop()或onDestroy()方法(这个问题可以单独讨论)。我建议你重新表述你的问题,告诉我们你想实现什么样的行为,并包括你目前正在使用的代码。

如果你而是在一个Activity中切换碎片进出,你应该参考碎片生命周期,它与它所膨胀的Activity是相互关联的。

在这里输入链接描述

在这种情况下,您可能会发现,即使底层Activity没有改变,也会调用片段的onPause()。这也是正常的行为。


0
投票

onResume在每次你的Activity获得焦点时都会被调用,也许你想把你的代码移到onStart上,因为onStart只在应用进入前景时被调用一次。

© www.soinside.com 2019 - 2024. All rights reserved.