Iphone SDK Utility Application template has leak

大憨熊 提交于 2019-11-27 23:38:15

That might be a leak or it might not be a leak. If you were to add the backtrace of the allocation, that would be helpful.

More likely than not, it isn't a leak, but some bookkeeping information that is being stashed away by dyld that leaks/Instruments loses track of.

Given that it is 128 bytes and I'm guessing there is only one of them, I would encourage you to file a bug via http://bugreport.apple.com and then forget about it for now as, in the unlikely case that it really is a leak, you will be equally as unlikely to be able to fix it from within your application.

Hope this helps.

From: http://www.cocos2d-iphone.org/forum/topic/2460

"The simulator has bugs related to singletons and llvm stuff that are incorrectly reported by Instruments. Always check your leaks on the device itself."

inked

Got the leak doing this:

XCode 3.2--

File, New Project, Navigation-based Application
Give it a name
Build It
Run With Performance Tools -> Leaks

When Instruments comes up, click on Leaks (you might have to click the little icon at the bottom that looks like four boxes within a box)

About 7 seconds after running you should see the leak: -- Malloc 128 Bytes, some Address, 128 Bytes, CoreGraphics, open_handle_to_dylib_path

I traced it to this code in the AppDelegate:

//APPLE CODE
- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch    

    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
}

I broke out the navigationController (did a separate alloc and release) and COMMENTED OUT the addSubview: action - there was no leak - and, obviously, the screen was blank.

It wasn't until I attempted addSubview that the leak occurred. Since there are numerous ways to add a subview, I tried those. Each resulted in the leak or a blank screen.

I tried it on a real ipod touch. No leak was reported. Probably just a simulator thing ...

Leaks has flagged open_handle_to_dylib_path in CoreGraphics for me as well; there is definitely something flagged here. Since it is merely 256 bytes at its heaviest, I fired off a bug report to Apple and called it done. You can then set a rule in Leaks' configuration to ignore the report.

As bbum pointed out, there might be serious voodoo at work. I seriously doubt Apple would let leaky frameworks go through QA -- especially since it's so easy to reproduce.

This must be a bug. It appears in Apple's own example, PageControl, found here: http://developer.apple.com/iphone/library/samplecode/PageControl/index.html#//apple_ref/doc/uid/DTS40007795

In the current SDK utility template is no leak. How did you get the impression there's a leak in the template? It's just allocating memory which is needed for the views.

A leak is memory to which no pointers exist and which cannot be freed any more.

I had the same problem, but was able to understand why it happened. And I have given a brief info regarding this problem in this article

Might be useful for you.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!