iOS 性能提升(参考整理向)

本文深入探讨了iOS应用中日期格式化和图像加载的优化技巧,指出使用属性和静态变量初始化对象以减少开销,并对比了imageNamed:和imageWithContentsOfFile:两种图像加载方式的性能差异,提供了在不同场景下选择合适加载方法的建议。

原文:http://www.cocoachina.com/ios/20150225/11163.html

1.NSDateFormatter

NSDateFormatter对象本身初始化很慢,NSCalendar也是。一半比较好的方式是通过添加属性(推荐)或创建静态变量保证对象只被初始化一次,多次复用。设置一个NSDateFormatter属性速度差不多和创建新的实例对象一样慢。

@property (nonatomic, strong) NSDateFormatter *formatter;

- (NSDateFormatter *)formatter

{

    if(!_formatter)

    {

        _formatter = [[NSDateFormatter alloc] init];

        // other code

    }

    return _formatter;

}

另外,尽量避免采用NSDateFormatter处理多个日期格式。

如果需要提高更多速度,可以使用C,可以采用第三方库

2.UIImage

Image IO开销和占时在大量使用时很大。

UIImage两种方式,imageNamed:和imageWithContentsOfFile:

imageNamed:加载图片后会在内存中缓存图片,如果缓存中找不到则从指定地址加载图片并缓存。

imageWithContentsOfFile:则只加载图片,不缓存。

大量使用imageNamed:会在不需要缓存的地方额外增加开销。所以当加载大图片并且不需要缓存时,使用imageWithContentsOfFile:更好。

 

转载于:https://www.cnblogs.com/bitCoder/p/4434879.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值