Cleaning Memory Resources Correctly 101

By Nikolai Arsenov
Software Developer & Quality Control Specialist
For cleaning memory resources efficiently, application should dispose existing objects before clearing related collection.
LightningChart provides predefined collections, e.g. XAxes, YAxes, PaletteSteps, etc. in WinForms and WPF Non-bindable platforms. In WPF Semi-bindable and Bindable platforms they should be created manually (e.g. ViewXY.CreateDefaultXAxes()). Moreover, a user’s application can have created collections of series, annotations, markers, cursors, etc.
If a user needs to recreate new specific collection for the chart without modifying the existing one, the old collection should be removed properly to use memory resources efficiently.
The following lines clean y-axes collection. However, the resources inside the application have not been freed, and they still reserve memory.
chart.ViewXY.YAxes.Clear();
Instead of using .Clear() method for collection, call .Dispose() for each item and clean the collection. Dispose method releases any resources from memory for clean-up:
foreach (AxisY yAxis in chart.ViewXY.YAxes)
yAxis.Dispose();
chart.ViewXY.YAxes.Clear();
// Create new Y-axes collection
for (int axisY = 0; axisY < axisYCounter; axisY++)
{
// Create your axes here
}
In our Demo applications, we have an auxiliary method to make proper resource cleaning:
ExampleUtils.DisposeAllAndClear(chart.ViewXY.YAxes);
Horizontal Bar Chart of Russia-Ukraine War Weaponry Data
Written by a human | Updated on April 10th, 2025 JavaScript Horizontal Bar Chart In this article, we aim to respectfully create a JavaScript horizontal bar chart that simulates the weaponry usage on recent war conflicts. While the data have been taken from Kaggle and...
Create a vibration charts application with 2D & 3D spectrograms
Written by a human | Updated on April 10th, 2025JS Spectrogram ApplicationHello, in this article we will create a JS dashboard with 2D and 3D spectrogram charts. The purpose of creating this project is to explain how to create a vibration analysis application that...
Ionic app development
Written by a human | Updated on April 10th, 2025Beginning Ionic App Development with Capacitor, Angular & LightningChart JS [This is the second part of the article "Data Visualization with Ionic Capacitor, Angular & JS Charts (Part 1)"] In the previous...
