我正在为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查看器退出页面后,如果应用程序没有崩溃,内存使用率仍然很高(180 - 220 MB),则PDF大小可能在10 MB到100 MB之间变化。 用户退出查看器后可以清除内存或防止内存消耗吗?
感谢。