内存泄漏每次UIScrollView被释放
在我的应用程序中,我有一个滚动视图和四个表视图。 每次拖动,然后释放,我得到一个48字节的泄漏。 这真的加起来。 正如你所看到的,两组泄漏都有相同的来源。 有没有人看到过这样的泄漏?
编辑1:
当我点击漏洞旁边的箭头时,我得到这个泄漏信息:
你所看到的是iOS 5.1中的一个已知错误,正在iOS开发者论坛中讨论。 你可以通过在论坛search“strdup”find相关的线索。 请参阅标题为“元素应用程序内存泄漏”的主题。 search苹果员工的post。
很可能,这是你的错,不知何故。
在分配仪器中,按下“i”button并打开“logging参考计数”。 然后仪器可以显示所有的分配,保留,自动释放,并释放这些对象发生的事件。 (您应该看到每个泄露项目旁边的箭头 – 单击它以显示该对象的分配历史logging。)
我想你会发现你的一些代码保留了某些东西,或者间接地导致了它的保留。 可能是滚动视图或其手势识别器之一,作为一个猜测。
解决方法:
我意识到,不知何故这泄漏的字节存储在滚动视图。 你不得不释放你的滚动视图,并不时分配它,保持其状态。 您检测何时应该重新加载滚动视图的方式由您决定,取决于您的应用程序需求。 每次释放滚动视图时,这些字节也被释放。
解决方法:我发现handlePan中发生内存泄漏:如果设置了UIScrollView委托。 我需要的委托方法,所以我subclassed UIScrollView,并宣布我自己的@协议。 然后我覆盖scrollView panGestureRecognizer的目标select器,而不发送给超级:
//yourScrollView.h @protocol yourScrollViewDelegate -(void)yourProtocol; @end //yourScrollView.m -(void)handlePan:(id)sender{ [yourDelegate yourProtocol]; }
- Xcode NSManagedObject子类在标记为非可选时包含可选项
- 使用UITableViewController通过实现tableview委托和数据源方法的UIViewController有没有什么好处?
- 与ARC的iOS应用程序,find谁是一个对象的所有者
- NSArray * excludedActivities即使使用ARC并将其设置为零,也会泄漏内存
- 在使用UIImagePickerControllerOriginalImage从UIImagePickerController获取图像时获取内存警告
- NSDateFormatter内存泄漏?
- 内存泄漏:通过简单的设备运动logging稳定增加内存使用量
- 内存消耗增加但是泄漏未检测到泄漏时,如何处理iOS中的泄漏?
- 在SceneKit应用程序中CGImage相关的内存泄漏
- 在UIWebview加载NSURLRequest时,内存泄漏
- 我的cocos2d应用程序每秒都会增加实际的内存使用情况是否正常?