【发布时间】:2013-11-30 06:27:10
【问题描述】:
我已经使用 C# 创建了 Windows 商店应用程序。我在其中使用 pdfdocument 类创建图像表单 pdf 并显示在图像中。 在按钮上单击我正在删除对象并调用垃圾收集器 处理完所有对象后为什么没有释放内存?
doc = await PdfDocument.LoadFromFileAsync(file);
if (doc != null)
{
for (int i = 0; i < doc.PageCount; i++)
{
PdfPage pdf_page = doc.GetPage((uint)i);
IRandomAccessStream randomStream = new InMemoryRandomAccessStream();
await pdf_page.RenderToStreamAsync(randomStream);
MyImage = new WriteableBitmap((int)pdf_page.Size.Width,(int)pdf_page.Size.Height);
await MyImage.SetSourceAsync(randomStream);
await randomStream.FlushAsync();
randomStream.Dispose();
pdf_page.Dispose();
Image img1=new Image();
img1.Source=MyImage;
imggrid.Items.Add(img1);
}
}
private void btnunload_click(object sender, RoutedEventArgs e)
{
imggrid.Items.Clear();
doc = null;
folder = null;
file = null;
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}
【问题讨论】:
-
8年后这个问题依然存在
标签: c# memory-leaks windows-store-apps pdf-generation