即将结束开发iPhone应用程序,我想知道在开发iphone时使用自动释放有多糟糕.我遇到了一些相当随机的崩溃,到目前为止,除了内存使用不当之外,我无法指出它.
作为一个Cocoa新手我记得最初阅读一份指南文件,强烈建议避免自动释放,支持手动保留/释放iPhone.然而,一个更"高级"的Cocoa开发人员很早就加入进来(具有讽刺意味的是,自那以后一直放手),他们在整个地方都使用了自动释放.不可否认,我进入了"猴子看猴子做"模式,它似乎又回来困扰我(我现在是项目中唯一的开发人员).
那下一步该怎么办?在我看来,我必须分支代码并尝试通过并在可能的情况下替换自动释放代码保持我的手指交叉,我不会无意中破坏应用程序.似乎很多库调用都会导致自动释放的对象,比如stringWithFormat,以及我自己不使用alloc的任何东西.我应该注意的任何其他的getchyas和/或建议?谢谢可可大师.
使用release而不是autorelease可以改善紧凑位置的内存使用率(这在iPhone上很好),但是如果你没有遵循保留/释放规则,它就不会对崩溃有所帮助.我会在Obj-C中阅读一些关于内存管理的教程,如果你对你应该做的事情仍然有点朦胧,然后使用调试器和崩溃报告来查找那些崩溃,找出你在释放对象的位置.这和这是两个好的开始.