繁体   English   中英

应用程序退出时将数据转储到文件

dumping data to file when app quits

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

你们都推荐什么作为 iphone 项目中将从用户收集的数据转储到本地文件的最佳位置? 你会说 applicationWillTerminate 是一个不错的选择吗?

谢谢!

2 个回复

iOS 4.x 的更好选择是applicationDidEnterBackground:

事实上,根据 Apple 文档,由于低 memory 条件,后台应用程序可以随时终止。 因此,建议在应用程序进入后台时持久保存任何 state 信息。

UIApplicationDelegate 协议的摘录:

您应该使用此方法来释放共享资源、保存用户数据、使计时器无效并存储足够的应用程序 state 信息以将您的应用程序恢复到其当前的 state 以防以后终止。 您还应该禁用对应用程序用户界面的更新,并避免使用某些类型的共享系统资源(例如用户的联系人数据库)。 您还必须避免在后台使用 OpenGL ES。

您对此方法的实现大约有五秒钟的时间来执行任何任务并返回。 如果您需要额外的时间...

同样来自 Apple Docs 的 applicationWillTerminate:

对于不支持后台执行或与 iOS 3.x 或更早版本链接的应用程序,用户退出应用程序时始终调用此方法。 对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台。 但是,在应用程序在后台运行(未挂起)并且系统出于某种原因需要终止它的情况下,可能会调用此方法。

因此,如果您特别要求不支持您的应用程序的后台处理,或者您链接到 iOS 3.x,您应该考虑在两个地方(applicationWillTerminate 和 applicationWillEnterBackground)进行持久化以捕捉情况。

1 在应用退出时转储NSUserDefaults?

我正在使用NSUserDefaults在我的应用程序运行时保存一些数据,但我想在应用程序终止时转储所有数据。 这是可能的,如果是这样,我该怎么做? 谢谢! ~Carpetfizz我知道有这个,但我不知道该把它放在哪里。 它应该进入应用代理吗? ...

3 转储数据库时为空文件

我正在尝试在Windows Server 2012 R2上进行数据库转储备份,这使我可以将数据库中的每个表转储到每个单独的文件中。 我已经创建了daily_dump.bat,其中包含以下脚本; 好的,它似乎工作正常,每个表都有一个file.sql,但转储的文件为空。 编辑:文 ...

4 首次启动时通过iOS应用中的转储文件创建数据库

我正在创建一个具有庞大的预填充sqlite数据库的iOS应用程序。 数据库文件约为140MB。 我已经转储了该数据库,并以RAR格式对其进行了压缩,现在它的大小约为16MB。 我想知道是否有可能将转储文件(16MB)与iOS应用程序捆绑在一起,解压缩.rar文件并在运行时(即在应用程序 ...

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

似乎有大量关于保存Activity状态的信息,但是我找不到很多关于找到Application状态的信息。 我正在寻找一些设计思路来解决我遇到的问题。 我正在开发一个具有相当大的数据模型(1-2 MBytes)的游戏。 这个模型存在于任何Activity之外,实际上有许多活动都与它相互作 ...

6 创建核心转储时设置退出状态

例如,调用exit(100)将退出状态为100的应用程序,并且在创建核心转储时,调用raise(SIGABRT)中止状态为134的应用程序。 但是,如果我希望核心转储具有状态100或任何其他任意值,该怎么办? 我怎样才能做到这一点 ? 我知道有几个信号会触发核心转储,但它们似乎有固定的退出 ...

9 每当应用程序崩溃时为其创建转储文件

每当我的应用程序崩溃时,我都会尝试为它创建一个转储文件。 我目前正在使用带有 -e 标志的 procdump.exe 来执行此操作,因此如果我的应用程序中有未处理的异常,procdump 会为我创建一个转储文件。 我以为我已经完成了,但后来我发现我的应用程序崩溃并且 procdump 没有创建转储 ...

10 使用来自转储 sql 文件的数据填充 rails 应用程序

我想将数据库导入到 rails 应用程序,我有一个数据库的转储文件,其中有: 实际列表当然更长。 有没有办法将该 INSERT 语句放置在 rails 应用程序中的某个位置并为我的数据库播种。 假设我有客户 model。 在我的开发环境中,我使用 sqlite,数据从 mysql 数据库中转储。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM