Leaks is telling the line that allocated the memory. The problem maybe what you are doing with the object allocated some where else in the code. I would suggest you use heapshot to figure out how much your application is growing by calling this function and looking at the code paths that could affect the growth. In order to make the problem simpler, you may need to create smaller actions to isolate methods that allocate memory or you maybe looking at several candidates at once making the investigative work more difficult. Also, remember that it take time for memory to settle back down, it doesn't happen instantly in many cases to avoid thrashing in heap allocations. Again, heapshot is your friend here. After seeing a memory growth due to an action. Take a few other heapshots after sometime(with doing any other actions) to see if the memory is trending down. If it doesn't, you have a bona-fide growth.
Tony Romano On 6/13/11 7:31 AM, "Bing Li" <[email protected]> wrote: >Dear Tito, Scott and all, > >Thanks so much for your replies! > >I think the memory management in my system is much better. I just used >Instruments to check potential leaks. To my surprise, I was still notified >that the following method got memory-leaking although the amount was >small. >Could you please tell me how to fix this problem? Maybe I just ignore it? > >+ (NSString *)read:(NSString *)xml Path:(NSString *)xPath >{ > // The Instruments indicated the following line got memory leaks. >The amount of leaked memory was not large (about 400KB) > NSXMLDocument *xmlDoc = [[NSXMLDocument alloc] >initWithXMLString:xml >options:NSXMLDocumentTidyXML error:NULL]; > > NSArray *nodes = [xmlDoc nodesForXPath:xPath error:NULL]; > [xmlDoc release]; > if ([nodes count] > 0) > { > return [[nodes objectAtIndex:0] stringValue]; > } > else > { > return @""; > } >} > > >Best regards, >Bing Li > > >> >> On Mon, Jun 13, 2011 at 3:07 AM, Scott Ribe >><[email protected]>wrote: >> >>> On Jun 12, 2011, at 12:29 PM, Bing Li wrote: >>> >>> > Do you think the below method is a correct solution to manage >>>memory? I >>> am >>> > not sure if the array, nodes, could leak? >>> >>> Really, follow the memory management rules as written and as pointed >>>out >>> to you before. That is how you know you're writing correct code. >>> >>> -- >>> Scott Ribe >>> [email protected] >>> http://www.elevated-dev.com/ >>> (303) 722-0567 voice >>> >>> >>> >>> >>> >> >_______________________________________________ > >Cocoa-dev mailing list ([email protected]) > >Please do not post admin requests or moderator comments to the list. >Contact the moderators at cocoa-dev-admins(at)lists.apple.com > >Help/Unsubscribe/Update your Subscription: >http://lists.apple.com/mailman/options/cocoa-dev/tonyrom%40hotmail.com > >This email sent to [email protected] > _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
