最近在做启动优化的时候,发起启动过程中AFNetWorking内部一个方法耗时70ms,占了所有+ load方法中将近一半的时间。
通过Instruments 查看发现内部处理User-Agent的时候
CFStringTransform
占用了90%的时间通过调试发现,我们的User-Agent包含了中文,导致判断条件为False
,所以才执行了耗时操作。
查看User-Agent的组成发现,内部包含了
Product Name
,而我们的Product Name
被设置为了中文,导致产生了耗时操作。最终,将
Product Name
默认值还原为$(TARGET_NAME)
,就可以解决这个问题!!!
!!!开发中,尽量不要使用中文,避免产生奇怪的问题....