为什么要在onPause() – onResume()而不是onStop() – onStart()中提交读取Android数据?

为什么要在onPause() – onResume()而不是onStop() – onStart()中提交读取Android数据?,第1张

概述文档建议应在onPause()/ onResume()中提交/读取数据. 然而,当应用程序不再处于前台时,其数据结构保持不变,这表明可以延迟提交/读取数据直到应用程序不再可见,即在onStop()/ onStart()中.特别是因为onStop()保证在onDestroy()之前被调用. 或许这两种方法都适合吗?这里的文档仅仅是一个指导原则吗? 更新 假设您的应用程序需要保存相对较多的数据,比如对 文档建议应在onPause()/ onResume()中提交/读取数据.

然而,当应用程序不再处于前台时,其数据结构保持不变,这表明可以延迟提交/读取数据直到应用程序不再可见,即在onStop()/ onStart()中.特别是因为onStop()保证在onDestroy()之前被调用.

或许这两种方法都适合吗?这里的文档仅仅是一个指导原则吗?

更新
假设您的应用程序需要保存相对较多的数据,比如对大图像进行编辑.然后肯定不会在onPause()/ onResume()中写/读,以免用户体验变得迟钝.在这种情况下,可以选择在onStop()/ onStart()中编写/读取.真的吗?

解决方法 使用onStop的问题在于你无法保证它何时被调用,因为唯一可靠的是它将在onDestroy之前被调用.如果您等到onStop提交数据,则可能要迟到其他活动才能显示/使用任何这些更改.同样的事情适用于onStart,如果它只是在后台,你的活动可能不需要重新启动,所以你将有过时的数据.使用onResume和onPause可以保证数据始终是最新的,一旦活动进入后台就会进行提交,并且一旦新数据变为可见,就会立即加载. 总结

以上是内存溢出为你收集整理的为什么要在onPause() – onResume()而不是onStop() – onStart()中提交/读取Android数据?全部内容,希望文章能够帮你解决为什么要在onPause() – onResume()而不是onStop() – onStart()中提交/读取Android数据?所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1121989.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存