一个中文引起的启动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),就可以解决这个问题!!!

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

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

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,818评论 8 265
  • 可否使用 == 来判断两个NSString类型的字符串是否相同?为什么? 不能。==判断的是两个变量的值的内存地址...
    渐z阅读 3,746评论 0 0
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,947评论 1 180
  • 1. load 与 initialize load:是当类或分类被添加到 Objective-C runtime ...
    杰克道长阅读 5,176评论 0 3
  • 前言 简单介绍: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2....
    GitHubPorter阅读 4,957评论 2 4