Changeset 767


Ignore:
Timestamp:
12/10/2010 02:38:39 PM (10 years ago)
Author:
michael.kriegel
Message:

fixed a memory leak in the CmionEventMonitor? (only remembering the last 600 events now)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libs/cmion/cmionAddOns/src/cmion/addOns/monitors/CmionEventMonitor.java

    r314 r767  
    3737import java.awt.event.ActionListener; 
    3838import java.util.ArrayList; 
     39import java.util.LinkedList; 
    3940 
    4041import javax.swing.JFrame; 
     
    138139                private static final long serialVersionUID = 1L; 
    139140 
    140                 private ArrayList<String> eventTexts; 
    141                 private ArrayList<CmionEvent> events; 
     141                private LinkedList<String> eventTexts; 
     142                private LinkedList<CmionEvent> events; 
    142143                 
    143144            protected JTextArea textArea; 
     
    156157                super(new BorderLayout()); 
    157158 
    158                 eventTexts = new ArrayList<String>(); 
    159                 events = new ArrayList<CmionEvent>(); 
     159                eventTexts = new LinkedList<String>(); 
     160                events = new LinkedList<CmionEvent>(); 
    160161                     
    161162                textArea = new JTextArea(5, 20); 
     
    213214                        eventTexts.add(text); 
    214215                        events.add(evt); 
     216                 
    215217                if (!isFiltered(evt)) 
    216218                { 
    217219                        textArea.append(text + "\n"); 
    218220                } 
     221                         
     222                        // limit size, when size reaches 600, delete first 100 entries 
     223                        // and redisplay text area 
     224                        if (eventTexts.size() > 600) 
     225                        { 
     226                                for (int i=0; i<100; i++) 
     227                                { 
     228                                        eventTexts.removeFirst(); 
     229                                        events.removeFirst(); 
     230                                } 
     231                                updateList();                    
     232                        } 
     233 
    219234            } 
    220235 
Note: See TracChangeset for help on using the changeset viewer.