我只使用Utility Application模板创建一个项目。 当我按“信息按钮”时,此模板具有本机内存泄漏 翻转视图。
任何人都知道如何解决这个漏洞??? 我只是从这个模板创建一个新项目, 我不添加新对象。
答案 0 :(得分:13)
这可能是泄漏,也可能不是泄漏。如果您要添加分配的回溯,那将会有所帮助。
更有可能的是,这不是泄密,而是一些记账信息被dyld隐藏起来,泄漏/仪器失去了记录。
鉴于它是128字节并且我猜它只有一个,我鼓励你通过http://bugreport.apple.com提交一个bug然后暂时忘记它,因为它不太可能真的是一个漏洞,你同样不可能在你的应用程序中修复它。
答案 1 :(得分:5)
泄漏这样做:
XCode 3.2--
文件,新项目,基于导航的应用程序
给它起一个名字
建立它
使用性能工具运行 - >泄漏
当仪器出现时,点击泄漏(你可能需要点击底部的小图标,看起来像一个方框内的四个方框)
跑步后大约7秒钟你应该看到泄漏: - Malloc 128字节,一些地址,128字节,CoreGraphics,open_handle_to_dylib_path
我在AppDelegate中跟踪了这段代码:
//APPLE CODE
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
我打破了navigationController(做了一个单独的alloc和release)并且注释了addSubview:action - 没有泄漏 - 显然,屏幕是空白的。
直到我尝试addSubview才发生泄漏。由于有很多方法可以添加子视图,我尝试了这些方法。每个都导致泄漏或空白屏幕。
答案 2 :(得分:5)
希望这有帮助。
来自:http://www.cocos2d-iphone.org/forum/topic/2460
“模拟器存在与单例和llvm相关的错误,这些错误由Instruments报告错误。始终检查设备本身的泄漏。”
答案 3 :(得分:2)
我在真正的ipod touch上尝试过它。没有报告泄漏。 可能只是模拟器的事情......
答案 4 :(得分:1)
Leaks已经在我的CoreGraphics中标记了open_handle_to_dylib_path
;肯定会有一些标记在这里。由于它最重的只有256个字节,我向苹果公司发布了一个错误报告并称之为完成。然后,您可以在Leaks的配置中设置规则以忽略该报告。
正如bbum指出的那样,工作中可能存在严重的伏都教。我非常怀疑Apple会让漏洞框架通过QA - 特别是因为它很容易重现。
答案 5 :(得分:1)
这一定是个bug。它出现在Apple自己的例子中,PageControl,在这里找到: http://developer.apple.com/iphone/library/samplecode/PageControl/index.html#//apple_ref/doc/uid/DTS40007795
答案 6 :(得分:0)
在当前的SDK实用程序模板中没有泄漏。您是如何得到模板中有泄漏的印象的?它只是分配视图所需的内存。
泄漏是没有指针存在且无法再释放的内存。
答案 7 :(得分:0)
我有同样的问题,但能够理解为什么会这样。我已在此article
中提供了有关此问题的简要信息可能对你有用。