iOS性能优化(一)

2018-03-09  本文已影响34人  smooth_lgh

1. 合适使用API

static NSDateFormatter * dateFormatter = nil;
+(NSDateFormatter*)cachedDateFormatter
{
    if (!dateFormatter ) {
        dateFormatter = [[NSDateFormatter alloc]init];
        [dateFormatter setLocale:[NSLocale currentLocale]];
        [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    }
    return dateFormatter;
}
#import <time.h>
-(NSDate*) dateByISO8601FromString:(NSString *)string
{
    if (!string) {
        return nil;
    }
    time_t t ;
    struct tm tm;
    strptime((void*)([string cStringUsingEncoding:NSUTF8StringEncoding]), "%Y-%m-%dT%H:%M:%S%z", &tm);
    tm.tm_isdst = -1;
    t = mktime(&tm);
    return [NSDate dateWithTimeIntervalSince1970:t + [[NSTimeZone localTimeZone] secondsFromGMT]];
}

2. 预加载和延时加载

预处理,是将初次显示需要耗费大量线程时间的操作,提前放到后台线程进行计算,再将结果数据拿来显示。
延时加载,是指首先加载当前必须的可视内容,在稍后一段时间内或特定事件时,再触发其他内容的加载。这种方式可以很有效的提升界面绘制速度,使体验更加流畅。(UITableView 就是最典型的例子)

未待完续.....想要获取更多关注以下公众号
IT物语.jpg
上一篇 下一篇

猜你喜欢

热点阅读