通俗的解释一下手机📱App为什么会卡顿?
这原本是一道客户端技术基础面试题,不论是安卓还是iOS,原理是一样的,我大四在去哪儿网实习了5个月的安卓,然后才去腾讯实习做iOS,并转正至今做iOS版腾讯新闻App(所以可以说在两个不同的手机操作系统上我都是职业的,不会瞎说🤪)。
首先我们来看个小故事:
1872年,美国参议员斯坦福和好友科恩对马在奔跑时蹄子的运动规律产生不同的结论,斯坦福认为呢,马在跃起瞬间,四蹄都处在腾空状态。而科恩却认为在奔跑时马总有一个蹄子着地。为了验证,斯坦福请来了英国著名摄影师麦布里奇一同研究。机智的斯坦福和麦布里奇,利用二十四台依次排列的相机,拍摄了24张马在奔跑时的照片(图1)。
如果快速的播放这24张连续的照片,肉眼就会看到一匹奔跑的战马。而这24张照片我们可以宏观的定义为历史上第一部电影🎬
话锋一转,我们在使用App的过程中,本质上是手机在连续播放一张张静态图片,而现在手机的标准帧率是60,也就是每秒60张连续画面在播放,让肉眼认为这就是顺畅。
每个即友在刷即刻app的时候,浏览到的数据肯定是动态变化的,所以很容易理解1秒内这60张图片是cpu和gpu动态计算并渲染到屏幕🖥上的,也就是每16毫秒要计算并渲染出一帧画面。
💡那么卡顿就很容易理解了!因为你用的app没有在16毫秒内成功的计算并渲染出下一帧画面,导致16毫秒结束后手机屏幕仍旧显示着上一帧画面,也就是丢帧,当然卡顿有很多种程度,如果只是偶尔丢一帧肉眼可能也不会捕捉到,但是丢帧丢的多了,肉眼就看到了,就知道发生了卡顿。
谢幕鞠躬🙇希望非程序员身份的你,可以看懂😆 #无用但有趣的冷知识
这原本是一道客户端技术基础面试题,不论是安卓还是iOS,原理是一样的,我大四在去哪儿网实习了5个月的安卓,然后才去腾讯实习做iOS,并转正至今做iOS版腾讯新闻App(所以可以说在两个不同的手机操作系统上我都是职业的,不会瞎说🤪)。
首先我们来看个小故事:
1872年,美国参议员斯坦福和好友科恩对马在奔跑时蹄子的运动规律产生不同的结论,斯坦福认为呢,马在跃起瞬间,四蹄都处在腾空状态。而科恩却认为在奔跑时马总有一个蹄子着地。为了验证,斯坦福请来了英国著名摄影师麦布里奇一同研究。机智的斯坦福和麦布里奇,利用二十四台依次排列的相机,拍摄了24张马在奔跑时的照片(图1)。
如果快速的播放这24张连续的照片,肉眼就会看到一匹奔跑的战马。而这24张照片我们可以宏观的定义为历史上第一部电影🎬
话锋一转,我们在使用App的过程中,本质上是手机在连续播放一张张静态图片,而现在手机的标准帧率是60,也就是每秒60张连续画面在播放,让肉眼认为这就是顺畅。
每个即友在刷即刻app的时候,浏览到的数据肯定是动态变化的,所以很容易理解1秒内这60张图片是cpu和gpu动态计算并渲染到屏幕🖥上的,也就是每16毫秒要计算并渲染出一帧画面。
💡那么卡顿就很容易理解了!因为你用的app没有在16毫秒内成功的计算并渲染出下一帧画面,导致16毫秒结束后手机屏幕仍旧显示着上一帧画面,也就是丢帧,当然卡顿有很多种程度,如果只是偶尔丢一帧肉眼可能也不会捕捉到,但是丢帧丢的多了,肉眼就看到了,就知道发生了卡顿。
谢幕鞠躬🙇希望非程序员身份的你,可以看懂😆 #无用但有趣的冷知识