1

W 8.1 用のアプリを開発しています。アプリには PDF ビューアが必要です。ページをレンダリングすることはできますが、問題は、メモリの消費が原因でアプリがクラッシュすることがあるということです。本、ウェブ、ブログで例を読みましたが、メモリ使用量を減らす方法が見つかりません。

これは私のコードです:

public async Task LoadPagesAsync()
{
    if ((_actualPage < _totalPages))
    {
        using (_pdfPage = _pdfFile.GetPage(_actualPage))
        {                   
            using (IRandomAccessStream stream = new MemoryStream().AsRandomAccessStream())
            {
                await _pdfPage.RenderToStreamAsync(stream);
                var img = new BitmapImage();
                img.SetSource(stream);
                PageList.Add(new Page { ImageBit = img });              
            }
        }       
    }
}

ユーザーがフリップビューをスクロールしている間にページを取得します。PDF のサイズは 10 MB から 100 MB まで変化する可能性があり、ユーザーが PDF ビューアーでページを終了した後、アプリがクラッシュしなかった場合、メモリ使用量はしばらく (180 - 220 MB) 高いままです。ユーザーがビューアを終了した後にメモリをクリアする方法、またはメモリの消費を防ぐ方法はありますか?

ありがとう。

4

0 に答える 0