ios - "Fastest way to unzip many files on iOS"或 "How else can I download many files quickly into my iOS app"

标签 ios iphone zip mapkit

在我的应用中,我希望用户能够下载离线 map 内容。

所以我(压缩)将我所有的图 block 移动到一个 zip 文件中。 (我用的是0压缩) 结构是这样的:{z/x/y.jpg}

+0
+-0
+--0.jpg
+1
+-1
+--0.jpg
+2
+-2
+--1.jpg

所以基本上会有很多文件用于缩放级别 0-15。 (我的测试区域大约有 120.000 个图 block )。

我正在使用 https://github.com/mattconnolly/ZipArchive现在也试过了https://github.com/soffes/ssziparchive之前和两者都很慢。大约需要 5 个!!在我的 iPhone 5S 上解压文件的分钟数。

有什么办法可以加快速度吗?除了将磁贴下载到一个大 zip 文件中之外,还有哪些其他可能性?

编辑: 如何在不解压缩的情况下将整个文件夹的内容快速下载到我的 iPhone?

感谢任何帮助!

最佳答案

JPG 很少使用 zip 进行压缩——根据定义,它们已经被压缩了。你应该做的是创建你自己的二进制文件格式,并将你需要的任何元数据与图像一起放入其中(你应该用非常低质量的数字编码,以减小它们的大小)。

当你下载这些文件时,你可以打开,快速将它们读入内存,并根据需要提取数据或图像。

如果您的额外数据是二进制(而非文本),这将非常快并且几乎没有开销。

PS:我刚刚被 PHP Plist class 绊倒了

关于ios - "Fastest way to unzip many files on iOS"或 "How else can I download many files quickly into my iOS app",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21482469/

相关文章:

ios - 将图像放置在 TextView 内的一个角落

iphone - 我可以在没有特定 NSManagedObjectContext 的情况下创建 NSManagedObject 的实例吗?

php - 使用 PHP 检查 Zip 文件是否已加密或受密码保护

python - 如何在 python 中将 zip 文件作为附件发送?

iphone - 继承 UIImageView 的子类 - 前向声明错误

iphone - 扭转一个 NSArray 的烦恼?

ios - SceneKit 自定义几何

ios - 如何在 iPhone 上保存数据?

iphone - 如何添加一个看起来像 UIAlert 的启动 View

python - 在随机丢失的多线程文件中运行shutil.make_archive