一个中文引起的启动70ms耗时

最近在做启动优化的时候,发起启动过程中AFNetWorking内部一个方法耗时70ms,占了所有+ load方法中将近一半的时间。

image.png

通过Instruments 查看发现内部处理User-Agent的时候 CFStringTransform 占用了90%的时间
image.png

通过调试发现,我们的User-Agent包含了中文,导致判断条件为False,所以才执行了耗时操作。

image.png

查看User-Agent的组成发现,内部包含了Product Name,而我们的Product Name被设置为了中文,导致产生了耗时操作。
最终,将Product Name默认值还原为$(TARGET_NAME),就可以解决这个问题!!!

!!!开发中,尽量不要使用中文,避免产生奇怪的问题....

你可能感兴趣的:(一个中文引起的启动70ms耗时)