2

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() を呼び出してみました - 何もありません。

多くのケース (データソースの破棄、ビューなど) を試しましたが、メモリがクリアされません。

私は提案します-私は自分自身が正しくありません。しかしここで?。

助けてください。ありがとう。

4

0 に答える 0