android – Activity生命周期:为什么设置为“Paused”而不是“Stopped”

android – Activity生命周期:为什么设置为“Paused”而不是“Stopped”,第1张

概述为了让我在假期忙碌,我决定学习 Android开发. 所以我关注tutorial关于Activity的生命周期.在链接文章中,它说: During normal app use, the foreground activity is sometimes obstructed by other visual components that cause the activity to pause. F 为了让我在假期忙碌,我决定学习 Android开发.

所以我关注tutorial关于Activity的生命周期.在链接文章中,它说:

During normal app use,the foreground activity is sometimes obstructed
by other visual components that cause the activity to pause. For
example,when a semi-transparent activity opens (such as one in the
style of a dialog),the prevIoUs activity pauses. As long as the
activity is still partially visible but currently not the activity in
focus,it remains paused.

However,once the activity is fully-obstructed and not visible,it
stops (which is discussed in the next lesson).

我下载了示例应用程序.示例应用程序有3个活动,每个活动都有按钮,可以从Intent启动其他活动.当我点击“开始B”时,我预计活动A的状态应该是“已停止”,因为它现在完全被活动B的布局阻挡.但是,它被设置为“暂停”.

活动A的状态变为停止的唯一时间是我从活动B的布局中单击“开始C”.

为什么会这样?是因为新版AndroID上出现了一些优化,还是我误解了这篇文章?

解决方法 这是我学到的一些难点 – 谷歌的AndroID文档对所有内容都不准确!

有时,系统会优化某些似乎偏离文档的行为.通过艰难的方式 – 通过挖掘source!

如果您的应用程序依赖于某些系统级别的行为,例如停止和暂停以按照所宣传的特定顺序工作,那么您将很难.此行为由系统控制,不提供任何保证.

我发现解决这个问题的最好方法是找出谷歌承诺开发商并坚持下去的合同.例如,在这种情况下,合同表明,如果您遵循规则,在需要时实现所需的生命周期回调,那么它将起作用,并且您不需要确切知道在什么情况下onStop(),onSaveInstanceState(),onPause(),onDestroy()等被调用.

换句话说,如果您通过实施onPause()暂停应用程序时需要执行的 *** 作,那么您无需确切知道您的活动何时暂停.暂停/恢复由系统控制,并且可能会因版本而异(或者如果他们选择自定义此行为,甚至可能从制造商更改为制造商).

我希望有人在我开始时告诉我这件事.这本来可以节省我很多时间和挫折.希望这可以帮助.

总结

以上是内存溢出为你收集整理的android – Activity生命周期:为什么设置为“Paused”而不是“Stopped”全部内容,希望文章能够帮你解决android – Activity生命周期:为什么设置为“Paused”而不是“Stopped”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存