0

如果有人使用了https://github.com/mdejong/lzmaSDK上提供的 LZMA SDK 的 iOS 包装器,并且能够对其进行调整以查看取消归档的进度,请提供帮助。

我将在 iOS 中使用这个 SDK 来提取一个 16MB 的文件,然后解压缩成一个 150MB 的文件,这需要大约 40 秒才能完成。最好有某种回调来显示解压缩的进度。

非常感谢您的帮助。谢谢

4

2 回答 2

0

所以,我最近看了很多次这个问题,老实说,你能做的最好的事情就是在一个特定的 tmp 目录中查找所有文件,其中正在进行解压缩,然后对它们进行计数并与已知大小进行比较N. 尝试在库中执行此操作的问题在于它跨越多个运行时,并且回调的想法使代码变得一团糟。此外,由于 7z 压缩的工作方式,回调不会有太大帮助。要解码,需要先建立解压字典,然后才能解压特定文件,而建立字典的过程甚至需要很长时间才能写入第一个文件。所以,如果你在你的应用程序中放置一个“完成百分比”计数器来显示完成了多少,它会长时间显示 0% 完成,然后跳到 50%,然后跳到 90% 或 100%。基本上,

于 2014-08-25T04:38:01.040 回答
0

您可以尝试没有上述限制(C 版本)的最新 LZMA SDK(15.06)的 C++ 端口。内存分配和 IO 读/写可以在运行时调整,加上密码加密档案、平滑进度、Lzma 和 Lzma2 档案类型等。

GitHub:https ://github.com/OlehKulykov/LzmaSDKObjC

于 2015-09-07T12:13:20.730 回答