Re: [Pyobjc-dev] Reference Counting
Brought to you by:
ronaldoussoren
From: Michael T. <li...@mj...> - 2004-04-08 17:26:52
|
On Apr 8, 2004, at 12:59 PM, Ronald Oussoren wrote: > That's correct, the bridge does not (and can not) hide the fact that > an autorelease pool exists. This is not a problem in the normal > use-case for PyObjC: writing GUI programs where you wouldn't use such > a pool in Cocoa either. Right. I was thinking about how in Cocoa I sometimes use extra pools in loops and such, to reduce the maximum memory usage. Looks like I should also do that with Python. > That's very interesting. I'm going to look into this, it's definitely > my intention to make sure that the bridge won't leak memory. > > BTW. What version of PyObjC are you using? 1.1b1 with Python 2.3. > Your example is a method name that is incorrectly recognized as an > initializer, which does have a minor influence on the behaviour of the > bridge, although not one that you should normally run into (the bridge > knows that +alloc returns uninitialized objects and won't -release > such objects unless an initializer method has been called). Thanks for explaining that. I saw from the code that the bridge cared about whether a method was an initializer, but it wasn't obvious to me why. Aside from the possible leaks in the bridge, I guess the documentation is right that it Just Works. :-) --Michael |