ios 设置图片为背景(小图片铺满)

 

//设置背景颜色

    [self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]]];

 

 

 

关于colorWithPatternImage内存泄漏

转自:http://blog.csdn.net/cococoolwhj/article/details/6942981

 

项目中使用到了这个方法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://www.cocoabyss.com/coding-practice/colorwithpatternimage-abusive-memory-usage/

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值