Jon*_*nah 5 iphone memory-management objective-c
在处理复杂问题时,我发现自己尝试了各种各样的解决方案,并且在尽力保持井井有条的情况下,代码可能会变得非常混乱.对象可能会被更改,不再有用,而有时我可能会添加一些代码片段,这些代码片段最终不会被程序使用,但会占用空间和可能的内存.
除了仔细阅读该程序之外,是否有方法可以找到程序未使用的代码块?
您在清理程序时发现了哪些提示?
我发现用于检查.h文件中的对象仍然在应用程序中使用并检查它们是否已正确释放/释放的一个小技巧是使用"搜索全部"功能(cmd-shift-F)并搜索对象的名称
这是一篇关于在应用程序中报告代码覆盖率的几种方法的文章:
http://seriot.ch/blog.php?article=20080728
它面向Mac应用程序,但大多数也适用于iPhone的东西(DTrace,你只能在模拟器中使用)
正如文章所指出的,这是Objective-C中比其他语言更难的问题,因为使用performSelector调用的方法非常容易,即使调用了静态分析也会报告为死代码(是的,你也可以这样做)在Javabut中类似的东西,它做得更少了).
可能gcc警告标志是最好的主意,同时仔细检查它认为是不必要的方法.实际上在应用程序中运行每个可能的代码路径实际上非常困难,但如果你有一组较小的可能函数要删除,至少你可以更快地做出选择,这样你就不必测试每个路径......
编辑:我应该说清楚,代码覆盖是一种技术,你可以用来找到"死"代码,这是你所追求的
编辑2:链接已经死了!我找不到一个缓存版本,我记不清楚它是否足以概括它包含的内容.