我正在潜入iOS开发领域并逐渐熟悉这些工具。在每天结束时,我会在我的应用程序中执行“使用乐器工具运行 - >泄漏”来检查当天可能实施的任何内存泄漏。它很少似乎检测到任何泄漏,虽然我想我只是一个自然的iOS程序员,我拒绝相信;)为什么仪器“泄漏”模板在我的iOS应用程序中发现我的内存泄漏?
无论如何,我只是发现我认为是我的内存泄漏代码,它不会被仪器捕获。我有这行代码...
gkSession = [[GKSession alloc] initWithSessionID:@"testID" displayName:@"Temp Display Name" sessionMode:GKSessionModeClient];
,我发现,我并没有在我的代码调用release
任何地方。我的问题是...
- 这是内存泄漏吗?
- 如果是这样,仪器可能无法捕捉它的原因是什么?
我明显的担心是我的代码中有内存泄漏,而Instruments没有捕获它们。
非常感谢您的帮助!
什么是gkSession(财产?ivar?)在你的应用程序中gkSession“超出范围”的地方有一点吗?当我开始时,我发现静态分析仪是超级有用的。 http://developer.apple.com/mac/library/featuredarticles/StaticAnalysis/index.html – Steve 2010-07-29 18:25:08
谢谢,史蒂夫,我会检查出静态分析器。是的,这是一个视图控制器的ivar,被推到导航堆栈上。 – BeachRunnerFred 2010-07-29 18:27:02
啊!然后我可以提出一个答案! :) – Steve 2010-07-29 18:28:52