Generally, you need to remove the "destroyed" agents from ALL data structures where thy might be referenced-- grids, bags, ArrayLists, and so on. Only then will the Java garbage collector remove them from memory. Russ On 5/14/14 8:43 PM, "Sean Luke" <[log in to unmask]> wrote: > SparseGrid2D contains objects. It is a representation of space as an infinite > grid. > > The Schedule contains "agents", which MASON calls Steppables. It is a > representation of time. > > It sounds like you have added your agent object to both data structures. > > If you have stopped an agent in the Schedule (after, I presume, scheduling it > repeating), it will eventually drop out of the Schedule. Why would you think > it'd also be deleted from the SparseGrid2D? Or any other data structure? > > When you call stop() on your stopper, you need to also manually call > removeObject() on your SparseGrid2D. > > Sean > > On May 14, 2014, at 11:30 PM, Francesco Pizzitutti > <[log in to unmask]> wrote: > >> Hi, >> >> I am creating and destroying a lot of agents during my simulation. They are >> all >> attached to a SparseGrid2D. For some reason when I stop, with the stopper an >> agent, the reference between the agent and the grid remain active. This leads >> to >> an increase in the memory use and to a progressive slowdown of the >> simulation. >> >> If I periodically reset the sparseGrid2D containing all the agents this >> remove all >> the references and free memory space. Is this the only solution to this >> problem? >> >> Francesco