Cleaning Memory Resources Correctly 101

arction Nikolai

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

 

3D Trading Charts for Options Traders

3D Trading Charts for Options Traders

Written by a human | Updated on April 23rd, 20253D trading charts for options tradersWelcome to this article about 3D trading charts for options traders. This topic will be divided into two parts and develop two different 3D trading charts in each article. In this...

Stock Price Prediction in Python

Stock Price Prediction in Python

Written by a human | Updated on April 23rd, 2025Stock price prediction in PythonWhat is the stock market and how does it operate? The stock market, a complex network of buyers and sellers trading shares, operates as one of the most pivotal components of a free-market...

ECG Signal Processing in Python

ECG Signal Processing in Python

Written by a human | Updated on April 23rd, 2025Visualizing ECG Signal Processing in PythonElectrocardiogram analysis (ECG analysis) is a process of recording, processing, and analyzing a patient’s heart’s electrical activity. This activity is recorded from a patient...