iOS 性能优化之页面加载速率

本文探讨了iOS应用中页面加载速率优化的重要性,定义了页面加载速率,并设定了0.3秒的理想目标。通过实验发现,页面加载速度受push动画影响显著。作者提供了数据收集方法,利用UIViewController分类进行Swizzling,实现在动画期间并行加载页面内容,从而减少加载时间。优化后,页面加载速度得到了明显提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

之前搜罗了网上很多关于iOS性能优化方面的资料 ,我也用了一些时间针对自己的App进行了App的启动速率、页面的加载速率和 页面的帧率方面进行了优化,所以结合了理论和实践,把我在实践中主要踩过的坑和需要注意的东西 ,总结了一下,希望可以帮到正在准备进行App的性能优化的你。

目的

为了找到真正使我们的App缓慢的原因,我们使用Xcode或者一些第三方平台,进行数据测试;

一、页面加载速率的定义

页面加载速率:关于页面的加载速度的统计,我们是测试一个viewcontroller从viewdidload的第一行到viewdidappear的最后一行所用的时间。

二、页面加载速率的目标值

目标:页面加载速率最好完美的时间在0.3s左右

为了弄明白,到底是什么原因让我们的App,页面加载速度相对来说比较慢,我们对页面的UI进行优化,数据也进行了异步加载,我们hook数据一看,页面的加载速度果然有所减少,但是减少的值大概只有0.03s,很明显这个值不足以达到我们想要的效果,后来,通过写了一些测试demo,针对空白页面和有UI创建的页面进行各种对比后,似乎和我们页面加载过程中的push动画有很大的关系;下面所做的实验主要是为了验证这个问题,针对这个问题,我选取了我们工程的一个类,对有push进入到这个页面有过场动画和没有动画进行测试,以下数据是测试结果:
这里写图片描述

通过这个实验,我们可以看出,不加动画的话,我们的页面加载的速度可以说是没有任何的卡顿,超级迅速,但是如果把过场动画给打开,单是动画的时间就是在0.5s左右,而我们是希望用户在点击跳转页面的时候,目标是页面在0.3s左右呈现,这如果加动画,这个目标很难达到;不过通过查找相关资料,我们证实了我们可以把如果有过场动画的页面,去掉动画,而是通过我们自己去给用户添加一个过场动画,而这个时间是可以受到我们自己的控制,而不是傻傻的等动画结束后再加载页面内容。的这就是说,可以一边动画的时候,一边已经开始加载页面相关东西了,这样可以大大的优化页面加载时间。

三、优化前数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值