美文网首页iOS 开发程序员
别忽略了NSSearchPathForDirectoriesIn

别忽略了NSSearchPathForDirectoriesIn

作者: 不知名_伍毛 | 来源:发表于2018-02-04 16:34 被阅读43次

    最近在使用 Instruments 对公司产品进行优化时,发现 NSSearchPathForDirectoriesInDomains 方法在执行的时候并不是很高效。

    NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde)
    

    而在笔者的程序中大多都是调用在UI线程上,这样调用次数多了,它也就成了App卡顿的元凶之一了。

    网上相关 NSDateFormatter 的性能问题一搜一大堆,但是笔者没有找到关于 NSSearchPathForDirectoriesInDomains 性能问题的相关文章,具体原因有可能是由于大家并没有频繁的使用,也或者其他原因吧。

    于是这里就干脆对 NSDateFormatter 和 NSSearchPathForDirectoriesInDomains 做了一个简单的对比,你可以在这找到测试代码

    对比结果 NSSearchPathForDirectoriesInDomains 执行花费的时间约为 NSDateFormatter 执行时间转换的一半(笔者这里在iPhone 5s,iPhone6 上进行的测试)

    总结

    如果你程序中也大量在UI线程上使用着 NSSearchPathForDirectoriesInDomains,记得对它进行优化,放置在UI线程外或者对它的结果进行Cache。

    测试代码记得在真机上跑,在模拟器上,NSSearchPathForDirectoriesInDomains 效率还是不错的😂

    相关文章

      网友评论

      本文标题:别忽略了NSSearchPathForDirectoriesIn

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