在我的应用程序通知服务扩展中,我执行以下操作:
- 从 Parse 获取数据(在后台),
- 将数据写入文件
- 将数据保存在 NSUserDefaults 中(在共享容器中)。
有时我会收到消息:“由于内存问题而终止”。没有其他信息说明导致此情况的原因。
有人有这方面的经验吗?这种奇怪的事情只是偶尔发生。
通知服务扩展存在内存限制。您应该使用少于 4.5M 的内存。所以避免使用 NSUserDefaults。并尝试节省您使用的内存。
今天刚学到这个。 NSUserDefaults 存储为属性列表文件。当您从属性列表中读取单个值时,整个属性列表会立即反序列化,导致内存使用量快速增加。我认为这就是为什么从通知服务扩展中的 NSUserDefaults 读取值会导致内存问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)