美文网首页
同程APP启动过程时长统计及优化方案

同程APP启动过程时长统计及优化方案

作者: Daniel_Guo | 来源:发表于2021-03-04 11:05 被阅读0次

同程APP启动过程时长统计及优化方案:

APP启动到首页加载完:1.64s - 1.74s

一、AppDelegate各阶段时长统计

表1:

启动过程 耗时 优化方案 备注
replaceLaunchImage 80-105ms之间 延后执行 启动只执行一次
bugly初始化 5-8ms左右 可忽略
beeHive初始化 2-3ms左右 可忽略
通用模块初始化 140- 180ms之间 具体参考表2
APP首页创建 343 - 400ms之间 @张友凯 @陈冬
微信初始化 3 - 28ms 延后执行

表2:

过程 耗时 优化方案 备注
设置最优域名&gateway 34ms左右 延后操作 @郭东洋
trace配置 12-15ms 延后操作 @郭东洋
hybrid环境配置 40-70ms 延后操作 @朱尧才 确认 @郭东洋 修改
注册音频后台服务 5ms 延后操作 @郭东洋
读取广告符 5ms 延后操作 @郭东洋
页面加载耗时监听 11ms 延后操作 @朱尧才 @郭东洋
动态化库初始化 30-40ms 是否可以异步线程执行 @陈冬确认
动态更新配置DUCOnfig 8 - 10ms左右 暂不处理 热修复逻辑需要靠前
其他 都小于3ms 可忽略

二、首页加载时长统计

1、IndexContainerViewController

过程 耗时 优化方案 备注
viewDidLoad(needFirstLoad) 193ms左右 @张友凯 @陈冬
viewWillAppear 小于1ms 忽略
viewDidAppear 小于1ms 忽略

2、IndexMainViewController

过程 耗时 优化方案 备注
loadView 80 - 100 ms @张友凯 @陈冬
loadDefaultData 60 - 80 ms @张友凯 @陈冬
createBaseView 14ms左右 @张友凯 @陈冬
viewDidLoad 80 - 85ms @张友凯 @陈冬
viewWillAppear 13ms左右 @张友凯 @陈冬
viewDidAppear 不到1ms 忽略

Load方法耗时统计

主工程

类/分类 优化方案 备注
TCTCacheManager+TCTDeviceIdCompatible 可以删除@郭东洋 已和@方爱林确认
TCTFileStorageObject 可以删除@郭东洋 已和@方爱林确认
TCTLoadManage 放到initialize处理 @郭东洋
TCTWidgetBridgeOC 修改调用方式 @方爱林 确认
TCTURLNotificationHandler 修改初始化注册方式 @郭东洋 修改
TCTURLRouteSupport 首页加载完成后初始化 @郭东洋 修改
TCTRequestAlertCustomView 首页加载完成后初始化 @郭东洋 修改
UIViewController(TCTTrendUseURL) 可以删除 未做任何处理 @方爱林 @郭东洋确认
TCTTrendImageDownloadRelyObject 暂不处理 影响较大 @方爱林
TCTRequestObject(TCTNetGateway) 暂不处理 影响较大,处理网关
UIViewController(PO_RouteURL) 暂不处理 兼容路由表注册,不能删除

私有组件

组件 类/分类 优化方案 备注
TCTMixtureProject TCTImagePickerManager+TCTTopShadow 放到initialize处理 @方爱林
TCTQRHistory TCTQRScanViewController+QRHistory 放到initialize处理 @方爱林
TCTViewLoadTimeDetect UIViewController+LoadTimeDetect 去掉组件 kTCTViewLoadDetectNotification暂无处理 @朱尧才
WelcomeViewController WelcomeViewController 放到initialize处理 业务逻辑 @Tracy-jun
TCTMore SettingViewController+CacheClear 放到initialize处理 @方爱林
eLongFramework NSDate+Helper 暂不处理 影响较大
eLongFramework NSDate+DateTools 暂不处理 影响较大
TCTAnalyics UIViewController+TCTUMSAgent 暂不处理 页面数据埋点
TCTBehaviorTrackCore TCTUMSAgent+BehaviorTrack 暂不处理 hybrid监控
TCTBehaviorTrackCore TCTBehaviorTrackHybridBridge 暂不处理 hybrid监控
TCTCategory UITableView+FDIndexPathHeightCache 暂不处理 影响较大
TCTCategory UIViewController+TCTExtendedLayout 暂不处理 影响较大 @方爱林
TCTHTTPDNS SDWebImageConvertHTTPS 暂不处理 支持https @方爱林
TCTMore UNUserNotificationCenter+TCTHack 暂不处理 修复crash
TCTNavHookPop UINavigationController+HookPop 暂不处理 影响较大
TCTNavigationBar UINavigationBar+TCTTransparent 暂不处理 影响较大
TCTNavigationBar UIViewController+TCTNavigationBarTransparent 暂不处理 影响较大
TCTravelUICategory UINavigationItem+_Swizzle 暂不处理 修改导航条按钮颜色影响较大
TCTrend UIViewController+ClientCostTimeLog 暂不处理 统计页面耗时
TCTUIDeviceIdentifier UIDeviceHardware+swizzle 暂不处理 影响较大
TCTURLRoute NSURL+URLWithStringEncode 暂不处理 影响较大
TCTURLRoute3 UIViewController+TCTBridgeWeb 暂不处理 影响较大

第三方

暂不处理

组件 类/分类
AnimatedGIFImageSerialization AnimatedGIFImageSerialization
BSBacktraceLogger BSBacktraceLogger
React RCTBridgeModule
TTTAttributedLabel TTTAttributedLabel
UITextView+Placeholder UITextView+Placeholder

相关文章

  • 同程APP启动过程时长统计及优化方案

    同程APP启动过程时长统计及优化方案: APP启动到首页加载完:1.64s - 1.74s 一、AppDelega...

  • App启动优化(三)启动优化方案

    系列文章 App启动优化(一)冷启动和热启动 App启动优化(二)启动时间测量 App启动优化(三)启动优化方案 ...

  • 性能优化:App启动优化

    一、App启动流程及启动优化二、定量监测App启动耗时、定位耗时代码三、果速送App启动优化 一、App启动流程及...

  • App白屏和启动优化的一些思路

    App启动优化 App启动优化原理与技术方案 启动优化 黑白屏问题 启动页面主题设置为图片 启动页面,不要再onC...

  • Android性能分析&启动优化

    两年前我做过了类似的启动优化分析《如何统计Android App启动时间》和《如何优化Androd App启动速度...

  • iOS性能优化

    一、应用启动优化 APP 启动过程中,应尽量减少不必要的操作,从而缩短应用的启动时长。1、首次启动1.确定在展示 ...

  • APP启动过程及优化

    以下内容仅仅作为向大佬们学习中的总结和记录 一、名词解释 1.什么是image无论对于系统的动态链接库还是对于Ap...

  • 冷启动优化

    App启动分为冷启动和热启动,我们说的启动优化一般是指冷启动优化。若要想优化,首先我们必须明确启动过程。 启动过程...

  • Android性能优化----APP启动优化

    现实开发中用到的性能优化方案 归纳如下: 1.APP的启动速度 想要对app的启动速度优化,就必须熟悉其启动流...

  • Android系统原理

    Android性能优化(一)App启动原理分析及启动时间优化 - CSDN博客 Android性能优化(二)布局渲...

网友评论

      本文标题:同程APP启动过程时长统计及优化方案

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