这真的很奇怪。我有一个空白的UIImageView子类,它实现了-touchesEnded :, -touchesMoved和-touchesBegan:方法。这些方法的实现是空的。他们什么都不做。但是,当我使用“泄漏”运行仪器时,触摸UIImageView并在仍然触摸屏幕的同时将手指移动到该UIImageView的外部时,我收到仪器的内存泄漏警告。当我触摸我的UIImageView时,为什么会出现这种奇怪的内存泄漏?
在我的演示应用程序中没有发生对象分配时发生。方法是空的。我在乐器中读到的所有内容都与Foundation和Run Loop相关。我检查了我的班级两次,并删除了任何对象分配。这只是一个只显示图像的骨架,但是当触摸它或在屏幕上移动手指时,该图像不会改变。这是没有意义的。
还有其他人遇到这样的问题吗?
更新:我多花点心思,发现内存泄漏发生在屏幕上的任何一点,当用5根手指快速敲击时。我从Instruments.app获得的所有内容都是关于一些运行和事件循环。这似乎是如果设备不能足够快地处理触摸,然后在释放分配的对象的某个时刻卡住。如果您看到相同的问题,请尝试一下并在此处报告。
更新:我测试了一些苹果示例应用程序以及。当我在屏幕上用3-5根手指进行破解时,就像普通用户一样(是的,他们会这么做!),然后仪器显示关于事件和运行循环的内存泄漏。在框架或仪器中肯定有一个很大的问题。使用iPhone OS 2.2.1进行测试。
加速计仍漏水像地狱在3.0。谢谢你。 – SpaceDog 2009-10-28 05:59:01