PDF Memory leak?
Hi there!

Just began on syncfusion PDF and wanted to ask a quick question :
I'm trying to generate a large amount of pages into a PDF. Here's my code :
private async void Button_Click(object sender, RoutedEventArgs e)
{
var watch = System.Diagnostics.Stopwatch.StartNew();
PdfDocument doc = new PdfDocument();
doc.EnableMemoryOptimization = true;
for (int i = 0; i < 5000; i++){
await GeneratePDF(doc, i);
Debug.WriteLine("doc " + i.ToString());
}
using (MemoryStream stream = new MemoryStream()){
await doc.SaveAsync(stream);
doc.Close(true);
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;
Debug.WriteLine("generation in " + elapsedMs.ToString() + "ms");
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile stFile = await local.CreateFileAsync("test.pdf", CreationCollisionOption.ReplaceExisting);
using (Windows.Storage.Streams.IRandomAccessStream fileStream = await stFile.OpenAsync(FileAccessMode.ReadWrite)){
using (Stream st = fileStream.AsStreamForWrite()){
st.SetLength(0);
st.Write((stream as MemoryStream).ToArray(), 0, (int)stream.Length);
st.Flush();
}
}
stream.Flush();
}
}
public async Task GeneratePDF(PdfDocument doc,int index)
{
PdfPage page = doc.Pages.Add();
PdfGraphics g = page.Graphics;
PdfBrush brush = new PdfSolidBrush(System.Drawing.Color.FromArgb(255, 0, 0, 0));
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 36);
for(int i = 0;i < 1000; i++){
g.DrawString("Hello world!", font, brush, new PointF(20, 20+i));
}
}
And here's what i'm seeing with the memory :
How can I free up the RAM after the generation?
SIGN IN To post a reply.
2 Replies
RD
Romane Donnet
April 28, 2016 07:24 AM UTC
CM
Chinnu Muniyappan
Syncfusion Team
April 29, 2016 01:12 PM UTC
Hi Donnet,
Thank you for contacting Syncfusion support.
We have created a simple sample without using any of the syncfusion assemblies, and here also we getting the same memory behavior , so we suspect this the actual behavior of the visual studio diagnosing tool, please refer the below sample for more details.
And also we have tried your sample to ANTS Memory Profiler, we are not getting any memory leak, please refer the below screenshot.
Please let us know if you have any concern.
Regards,
Chinnu
SIGN IN To post a reply.
- 2 Replies
- 2 Participants
-
RD Romane Donnet
- Apr 28, 2016 07:18 AM UTC
- Apr 29, 2016 01:12 PM UTC