我正在为 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)。有没有办法在用户退出查看器后清除内存或防止内存消耗?
谢谢。