关于colorWithPatternImage内存泄漏

网友投稿 636 2022-08-24

关于colorWithPatternImage内存泄漏

项目中使用到了这个方法colorWithPatternImage, 一般的写法是

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];

由于是公司内部产品, 要求兼容IOS系统3.0-5.0, 所以拿了各种版本机器测试! 发现这个方法在有一些系统上内存泄漏, 直到奔溃!

要考虑iphone4高清, 这个图本身在内存占用大概2MB内存, 然后屏幕旋转或者其他的一些需要换图的操作, 这个方法就会重新执行一边, 内存就++2MB, 不一会儿就奔溃了!

当然并非所有的系统都有这个问题! 可能是系统的一个bug, 模拟器调试没任何问题, 我的iphone4, 4.3.3系统没问题!

由于机器有限, 部分测试结果如下, 希望能帮助一些人:

iphone4        都没问题iphone3gs    4.2.1系统和4.1有问题, 4.3没问题iphone3        4.2.1系统有问题, 3.1系统没问题ipad              3.2系统没问题

国外的一些用户也发现了这个问题, 解决的方法就是不用这个方法设置背景颜色罗!

​​http://cocoabyss.com/coding-practice/colorwithpatternimage-abusive-memory-usage/​​

​​http://tuzzolotron.com/?p=118​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:iOS学习笔记42—利用dispatch_once创建单例
下一篇:RTLabel 自定义label
相关文章

 发表评论

暂时没有评论,来抢沙发吧~