I worked out that, for each unique string, it must store this in memory. So, if it is a random number (using math.random), and converted to a string, then the addon memory will perpetually increase, but if you're tracking down an aura's time remaining, for example, then it stores a range of strings between 1 and the maximum aura time remaining value (i.e. the total duration).
So, if an aura has a duration of 1 minute, and you're displaying the seconds, then it stores 1, 2, 3 ... 59, 60 as strings in addOn memory meaning it keeps increasing UNTIL it can reuse a string.
The weird thing is that it only seems to do this when using SetText. If I just create these strings as a local variable then after the function is executed the memory is freed. It even does this if I assign the value to a shared variable outside of the function.
|