iOS优化使用小技巧

1.不要一次性创建所有的subview,而是需要时才创建.合理使用 懒加载

比如NSDateFormatter 和 NSCalendar这种高开销对象

static NSDateFormatter *cachedDateFormatter = nil;

+ (NSDateFormatter *)cachedDateFormatter {

if (!dateFormatter) {

dateFormatter = [[NSDateFormatter alloc] init];


[dateFormatter setDateFormat: @“YYYY-MM-dd HH:mm:ss”];

}

return dateFormatter;

}

2.不要频繁的刷新页面,能刷新1行cell最好只刷新一行,尽量不要使用reloadData.

//刷新一组
NSIndexSet* indexSet = [[NSIndexSetalloc]initWithIndex:1];
[self.myTableViewreloadSections:indexSetwithRowAnimation:UITableViewRowAnimationAutomatic];
//刷新一行
NSIndexPath*indexPath=[NSIndexPathindexPathForRow:1inSection:0];
[self.myTableViewreloadRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationNone];

3.选择正确的集合

NSArray,使用index来查找很快(插入和删除很慢)
字典,使用键来查找很快
NSSets,是无序的,用键查找很快,插入/删除很快

4.重用

UITableView和UICollectionView复用

5.缓存所有需要的

服务器相应结果的缓存(图片)
复杂计算结果的缓存(UITableView的行高)
重复使用的下拉框省市区等

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,172评论 1 32
  • 一、如何提高一个应用程序的性能?1、使用ARC减少内存失误,dealloc需要重写并对属性置nil。2、重用。3、...
    金歌漫舞阅读 1,009评论 2 6
  • 一. 如何让你的应用程序更加省电?答:(1). 如果程序用到定位,需要在定位完毕之后关闭定位,或者降低定位的频率,...
    Hevin_Chen阅读 1,196评论 0 4
  • ♂在干嘛 ♀倒数 ♂数什么 ♀你靠近的脚步 ♂要多近 ♀触手可及 ♂来了 ♀走吧 over
    豆渣儿阅读 302评论 2 0
  • 又到了放学时间,我负责接送孩子们上下学。天气有点热,路上行人不多,过往车辆却很多。 上班这几个月...
    雨木月阅读 190评论 0 3