尝试使用QLPreviewController预览大文件的问题

时间:2015-01-09 12:40:03

标签: ios qlpreviewcontroller

我在尝试在iPad应用中预览大文件时遇到问题。在应用程序中,我们使用UIDocumentInteractionController。当我们尝试打开大文件(> 100 MB)时,UIDocumentInteractionController仅显示一个灰色屏幕,其中包含文件的名称和大小。

为了缩小问题,我们做了一个简单的应用程序,只尝试使用QLPreviewController预览文件,我们发现同样的问题。

问题似乎与内存使用有关。由于文件的最大尺寸,您可以预览有关iPad型号和后台应用程序数量的更改。

尝试使用UIWebView预览文件更糟糕:应用程序崩溃(内存警告)。

如何使用QLPreviewController预览大文件?我应该做一些特别的事吗?我应该使用其他组件吗?哪一个?

1 个答案:

答案 0 :(得分:0)

你可能无法做你想做的事情 - 看来UIDocumentInteractionController只能接受一个URL,而不是一个打开的文件。

通常,您使用的技巧是使用'映射' file - 这是一个不需要完全读入内存的文件,但是根据需要使用虚拟内存,然后释放未使用的块。

如果您look at this answer,您可以看到如何使用NSData对象执行此操作。使用这样的对象,您可以初始化其他类型的数据对象 - 现在还不确定如何处理UIDocumentInteractionController。