• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 在 iOS 上保存大数组的最佳方法

[复制链接]
菜鸟教程小白 发表于 2022-12-12 18:32:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我编写了一个与 BLE 设备交互的 iOS 应用程序 - BLE 设备发送 iOS 设备数据,应用程序分析数据然后保存。 iOS 应用每秒接收数据,因此我保存读数的数组(如 NSString)会很快变大。

应用程序已启用在后台运行,直到此时我一直在使用 NSUserDefaults 来保存这个大数组。我对我的应用程序进行了跟踪,发现它在后台使用了 iPhone 6 的 CPU 的 3%,并发现 NSUserDefaults 导致了这种情况。我阅读了它,发现 NSUserDefaults 为此目的是多么低效。

现在,我想放弃这种方法并使用不同的方法。我读过一些这样的方法,比如将数据保存到 CoreData、Plists 或纯文本文件中。这些方法的效率和实现难度如何?我之前用文本文件做过一些事情,这很容易,但我经常需要获取该文本文件的全部内容并将其加载到数组中进行解析,这似乎对内存有问题。因此,如果您有任何建议,我很乐意听取他们的意见。



Best Answer-推荐答案


查看 Apple Performance Tips ,我发现了你的问题。

简而言之:在写入磁盘之前获取大量数据,以尽量减少使用 Core Data 或 SQLite 对闪存驱动器的访问。

您可以在 this link 中查看如何实现 SQLite 持久性。


改进文件管理 - 性能提示

Minimize the amount of data you write to the disk. File operations are relatively slow and involve writing to the flash drive, which has a limited lifespan. Some specific tips to help you minimize file-related operations include:

  • If your data consists of structured content that is randomly accessed, store it in a Core Data persistent store or a SQLite database, especially if the amount of data you are manipulating could grow to more than a few megabytes.

关于ios - 在 iOS 上保存大数组的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368119/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap