我正在使用 QLPreviewController 来预览文件。但是当我打开大文件时,内存会增长并且不处理。
例如:iPhone 4s,打开 6 Mb txt 和 5Mb txt 后 - 应用程序将冻结或崩溃。查看 Instruments - 使用的内存 230Mb。
我在课堂上有字段:
private QLPreviewController previewController;
public void OpenAnotherFile()
{
if (previewController != null) {
previewController.DataSource.Dispose ();
previewController.DismissViewController (false, null);
} else {
previewController = new QLPreviewController ();
}
// loading new file here
previewController.DataSource = new QLPreview ();
previewController.ReloadData ();
view.AddSubview (previewController.View);
}
此变体没有重新创建 previewController,但我尝试了 previewController.Dispose() 和重新创建。尝试调用 GC.Collect() - 没有。
我尝试了很多情况(处理数据源、视图等),但内存没有被清除。
我建议-我自己不对。但是哪里?。
请帮忙。谢谢。