Re: Headless Cocoa/Java app - autorelease
Re: Headless Cocoa/Java app - autorelease
- Subject: Re: Headless Cocoa/Java app - autorelease
- From: John Stiles <email@hidden>
- Date: Mon, 2 May 2005 16:22:04 -0700
What exactly causes the AutoreleasePool to be freed when the Java
object is garbage collected? It sounds like this is not happening for
whatever reason.
On May 2, 2005, at 2:20 PM, String Larson wrote:
Thanks.
I had wrapped all my threads with pools (push/pop) just to try and see
that was happening. I'm not getting the 'just leaking' messages any
longer.
However, memory is not being released when the Java object containing
NSImages is GC'd and/or the pool is released/popped.
I've been stripping things down - running a Java class w/o JBoss and
as a single thread to eliminate variables. Still no luck.
Its behaving as if NSImage is leaking. It seems there is an OS thread
(AppKit ?) that is alloc-ing NSViews and NSImageCacheViews w/o a pool
in place these don't seem to get collected when the NSImage is GC'd.
I'm going to put together a simple working example that can be posted
here.
Any detailed info on AppKit/etc. would be helpful/welcome.
Thanks.
On May 2, 2005, at 3:57 PM, Shawn Erickson wrote:
On May 2, 2005, at 11:40 AM, String Larson wrote:
Do the sub-threads need AutoreleasePools as well ?
Any thread using aspects of the Cocoa framework (or related
frameworks) runs under the assumption that the thread they are
running in has a auto-release pool in place and more importantly one
that is managed sensibly as needed (created/released as needed, saw
per event processed, etc.)
So the answer is yes. The message is directly say that is in fact
what is wrong.
I see no reason that you need to wrap the boot or main of JBoss with
a auto-release pool because neither of those are likely using Cocoa
directly and if they happen to be then the pool management you have
isn't useful because the pool exists for the life of the JBosses
main, in other words the pool would just accumulate objects to be
released because the pool itself never gets deallocated.
Review...
<http://developer.apple.com/documentation/Cocoa/Conceptual/
MemoryMgmt/Concepts/AutoreleasePools.html>
-Shawn
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden