在应用退出时保存Android应用数据

在应用退出时保存Android应用数据,第1张

概述似乎有大量关于保存Activity状态的信息,但是我找不到很多关于找到Application状态的信息. 我正在寻找一些设计思路来解决我遇到的问题.我正在开发一个具有相当大的数据模型(1-2 MBytes)的游戏.这个模型存在于任何Activity之外,实际上有许多活动都与它相互作用.这些活动是短暂的,一直在进行. 我目前在我的应用程序中保留一个指向数据模型的指针,所有活动都通过它访问数据模型.我 似乎有大量关于保存Activity状态的信息,但是我找不到很多关于找到Application状态的信息.

我正在寻找一些设计思路来解决我遇到的问题.我正在开发一个具有相当大的数据模型(1-2 MBytes)的游戏.这个模型存在于任何Activity之外,实际上有许多活动都与它相互作用.这些活动是短暂的,一直在进行.

我目前在我的应用程序中保留一个指向数据模型的指针,所有活动都通过它访问数据模型.我需要在我的应用程序被杀死的情况下保存该数据模型,但是每次活动命中onPause时都要保存它太慢,这在活动来来往往时经常发生.

我需要的是一种确定我的应用程序(以及它的数据模型)被破坏的方法.我已经广泛搜索了这种方法或回调,并且已经空了.

我将不胜感激任何建议.

解决方法

I have been unable to locate much on finding Application state.

这是因为Android中没有“应用程序状态”,比Web应用程序中的更多.

but it is far too slow to save it every time an activity hits onPause

虽然您的整个数据模型可能是“1-2 MBytes”,但对于任何给定的更改,更改的数据量将是其中的一小部分.使用后台线程,仅修改已更改的数据.

which happens very frequently as activitIEs come and go

听起来好像你的活动太多了.

What I need is a way to determine that my application (and along with it my data model) are being destroyed

这是不可能的.你永远不会发现你被摧毁了. AndroID可以并且将在没有警告的情况下终止您的过程,无论是在用户请求(例如,强制关闭,任务杀手)还是出于 *** 作系统原因(例如,需要RAM来处理来电).

欢迎使用onUserLeaveHint(),当你整个应用程序失去前景时,会在很多情况下调用它,但我当然不会指望那些与持久化数据模型同样重要的东西.

总结

以上是内存溢出为你收集整理的在应用退出时保存Android应用数据全部内容,希望文章能够帮你解决在应用退出时保存Android应用数据所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存