Search code examples
c#memory-leakswindows-store-appspdf-generation

Memory not release in windows store app


I have created windows store app using c#. In which i am creating image form pdf using pdfdocument class and display in the image. on button click i am removing the objects and call garbage collector after disposing all object why memory is not released?

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();
    }

Solution

  • You can find Memory Leak by using any Memroy Profiler App like 'Sci Tech .NET Memory Profiler', ...