别忽略了NSSearchPathForDirectoriesInDomains

最近在使用 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 效率还是不错的😂

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,360评论 25 709
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,263评论 30 472
  • 街边的咖啡厅阅读 193评论 1 1
  • 过年回家,感觉一回家就变懒了,好久没画画了 纸:宝虹中纹(习惯了细纹纸,现在用中粗有点不习惯了) 笔:达芬奇、秀意...
    点点Xxi阅读 1,046评论 2 17
  • 昨晚陪睡直接给自己睡过去了。所以今天才写。 中午给老大送水,看到臭小子趴地上玩,匍匐前进。冷不丁还有女生迈过他的头...
    漫漫无忧阅读 224评论 4 1