美文网首页ios面试iOS面试系列
面试回顾之十二:性能优化

面试回顾之十二:性能优化

作者: 西门魏国 | 来源:发表于2015-03-26 11:33 被阅读267次

    1,尽量使用arc,(mrc操作起来不方便,而且可能会造成内存泄漏)

    2,关于图片: 优先使用[UIImage imageNamed:@""];与[[UIImage alloc] initWithContentsOfFile:] 和 [UIImage alloc [initWithData:]] 相比,[UIImage imageNamed:]有着更好的效率,这是因为 iOS 会自带 cache 通过 [UIImage imageNamed:] 载入的图像,但该方法有一个缺点,那就是只能载入应用程序 bundle 中的图像,像网络下载的图像就无能无力了。

    3,对于结构复杂的 View,使用 drawRect 自绘而不是从 nib 中载入。还有尽量使用不透明的view,增加透明度会增加一次渲染效果,会增加内存消耗,要使用的话,使用view的opaque为yes(苹果会使用最优的渲染效果)

    4,对于 TableView,重用 cell;减少 cell 初始化的工作量,延迟装载;定制复杂 cell 时,使用 drawRect 自绘;

    5,不要在 viewWillAppear 中做费时的操作。viewWillAppear: 在 view 显示之前被调用,出于效率考虑,在这个方法中不要处理复杂费时的事情;(比如使用延时操作,会影响view的加载)

    6,不要阻塞主线程, 使用多线程来延迟加载资源。例如: tableview下载图片等.

    7, 多利用cache缓存, 利用 cache 空间换时间

    8, 多用工具instruments  比如使用(time profiler)检测cpu的使用情况

    相关文章

      网友评论

      • 温特儿:图片比较大的时候,使用initWithContentsOfFile,一般几kb的图片就直接用imageWithName
      • 同学:第二个 如果图片大而且不需要经常出现 就没必要用第一种方法 缓存那么大的内存

      本文标题:面试回顾之十二:性能优化

      本文链接:https://www.haomeiwen.com/subject/tizgxttx.html