换屏幕会丢失数据吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了换屏幕会丢失数据吗?相关的知识,希望对你有一定的参考价值。

正常操作下,只更换屏幕,并不更换手机的主板和芯片,就不会损失数据。但是不排除操作者误触的现象发生。这种情况对于新手维修者来说有可能存在。 参考技术A 手机换屏数据不会丢失的,因为手机资料的东西保存在和手机内置sd卡和外置sd卡,手机资料和手机屏幕没有关系,因此更换手机屏幕不会造成手机里的东西会丢失。

在 CoreData 中使用 NSInMemoryStoreType 会丢失数据吗?

【中文标题】在 CoreData 中使用 NSInMemoryStoreType 会丢失数据吗?【英文标题】:Can data be lost when using NSInMemoryStoreType in CoreData? 【发布时间】:2013-04-30 15:43:54 【问题描述】:

在 CoreData 中,当使用 NSInMemoryStoreType 持久存储时,只要应用程序打开,数据是否会一直缓存在内存中,或者这些数据使用的资源是否可以被 iOS 回收?

鉴于 iphone 应用程序在多任务处理时可以在后台运行,并且 iOS 将回收在后台运行的应用程序的资源。

这是否意味着在某些情况下内存缓存中的持久存储可能会丢失?假设应用程序长时间处于后台状态,并且用户已经访问并使用了许多不同的应用程序。

如果有人能对这个主题有所了解,那就太好了。

【问题讨论】:

【参考方案1】:

Core Data 内部的某些资源当然有可能是NSPurgeableData 对象,因此如果存在内存压力,它们可能会在您被挂起时被丢弃。这是一个内部实现细节,应该始终对您透明。

作为 Core Data 之外的一个具体示例,UIImage 被记录为在内存紧张时删除其一些缓存数据(请参阅UIImage 文档中的图像和内存管理)。 Core Data 中的东西当然有可能做同样的事情。但同样,除了性能方面的考虑(即数据可能需要重新计算)之外,if 对您来说永远都不重要。

当然,当您的应用程序被终止时,您可能会丢失整个内存中的数据存储,这种情况随时可能发生。但操作系统不会随意删除你的内存。

【讨论】:

感谢您的回答。我想我在这里最关心的是,核心数据中的数据是否可能在后台状态下丢失,或者在内存不足的情况下,可能需要使用某种类型的恢复技术?虽然我在谷歌搜索中找不到关于这个主题的任何内容。这似乎暗示,要么所有数据都丢失并且应用程序关闭(在我的情况下这很好,因为可以在新启动时重新下载数据),或者应用程序在“后台模式”下保留数据使其立即可用供应用激活时使用。 是的;您将被杀死,或者您的不可清除内存将被单独留下(除非您明确创建可清除内存,请参阅 NSPurgeableData,这意味着一切)。系统不会丢掉你的“部分”记忆,只会杀了你。【参考方案2】:

我不是 100%,但我不得不说不,这不会被部分回收,这就是原因。 iOS 将分配已使用的内存并且不会取消分配,除非达到内存警告,在这种情况下,它只会一起关闭应用程序或由您处理。进程将在 10 分钟后停止,该沙盒应用程序持有的所有资源将保留在内存中,除非需要,否则整个应用程序将关闭。因此,如果另一个应用程序请求的内存比可用内存多,您的应用程序及其分配的内存将关闭,但零碎不会关闭(您的数据源)。

【讨论】:

以上是关于换屏幕会丢失数据吗?的主要内容,如果未能解决你的问题,请参考以下文章

当表单滚动到屏幕外时,每个表单字段的状态会丢失吗?

浮点数精度丢失问题详解

linux分区后原有的数据会丢失吗?

硬盘重要资料丢失,用软件恢复无效,要抓狂了!

STM32 bkp掉电数据丢失

SQL Server中的收缩数据库,数据会丢失吗?