【发布时间】:2011-10-21 23:29:00
【问题描述】:
我有一个 215MB 的 csv 文件,我已对其进行解析并存储在核心数据中,该核心数据包含在我自己的自定义对象中。问题是我的核心数据 sqlite 文件大约 260MB。 csv 文件包含关于我所在城市的交通系统(公交车站、时间、路线等)的大约 450 万行数据。
我尝试修改属性,以便将表示停止时间的字符串数组存储为 NSData 文件,但由于某种原因,文件大小仍保持在 260MB 左右。
我无法发布这么大的应用程序。我怀疑有人会想要下载一个 260MB 的应用程序,即使这意味着他们有整个城市的交通时间表。
有什么方法可以压缩或最小化使用的存储空间(即使不使用核心数据,我也愿意听取建议)?
编辑:我现在只想提供更新,因为我一直难以置信地盯着文件大小。通过一些涉及字符串、索引和数据库规范化的巧妙操作,我设法将压缩后的大小减小到 6.5MB 或 2.6MB。 Core Data 中存储了大约 105,000 个对象,其中包含该城市交通系统的全部详细信息。我现在几乎要流泪了 D':
【问题讨论】:
-
我刚刚看到您对最终尺寸的更新评论。非常令人印象深刻。真实世界数据的 100:1 压缩应该让任何人感到自豪。
-
很晚,但如果您查看应用程序 Transit,我已经与他们交谈过,他们已设法将 260MB 减少到仅 800KB
标签: iphone objective-c core-data