LZMA SDK iOS显示进度

时间:2014-07-16 17:44:44

标签: ios objective-c lzma

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

我将在iOS中使用此SDK来提取16MB文件,该文件将解压缩为150MB文件,这需要大约40秒才能完成。为了显示解压缩的进展,有一些回调会很好。

非常感谢帮助。 感谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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