Continious/Auto-repeat Buttons & Steppers leak 30Kb+ per second!!?
Continious/Auto-repeat Buttons & Steppers leak 30Kb+ per second!!?
- Subject: Continious/Auto-repeat Buttons & Steppers leak 30Kb+ per second!!?
- From: Gary C Martin <email@hidden>
- Date: Mon, 20 Aug 2001 00:42:36 +0100
...or am I going mad?
I've been trying to leak test my first full run of a Cocoa development
cycle and have been stuck for several days with one specific leak I
can't fix. I've tracked it down to the use in my UI of Steppers set for
auto-repeat - after pulling my hair out for a few days (and I don't have
much hair to pull) I've come to the conclusion that ALL
continuous/auto-repeat buttons under Aqua leak 30Kb or so per second
during use! Using top or Processviewer you can watch the memory going up
and up until your system starts to grind into swap space.
Originally thinking there was some esoteric glitch in my Cocoa code I
built a blank project and set up a singe continuous button in IB calling
an empty NSObject class IB Action method - but when that leaked memory
at the same rate I tested some standard system utilities to double
check: System preferences (setting the clock also dragging the
preference icons); Process Viewer (while holding the update time
buttons); Address book (while dragging a name card about) all leak this
way.
Quick caveat: Holding down a continuous/auto-repeat leaks the memory,
stopping when you release the button. Holding down another button in
that same application seems to be ok until you have been holding it down
longer than the previous longest hold - at which point the app continues
to leak again. This memory is only released once you quit that
application.
Is this a known bug, leak or system 'feature'? Any hints or tips on
avoiding this issue? Looks like I may need to redesign my UI which
allows user to scroll/animate through dates/times of moon phase
information - setting YYYY-DD-MM HH:MM etc. :o(
Sorry if this has been discussed before, thanks for any help.
Regards,
Gary C Martin
(OS X 10.0.4, G3 iBook SE366)