38
app卡是服务器的原因吗?这些因素也不可忽视

app卡是服务器的原因吗?智能化时代,确实为人们的生活带来了方便;比如说出门购物,使用手机便可支付,又或者去银行办理业务,除略微复杂的业务还是需要去柜台办理外,其他的在机器上就可自助办理。聊到了智能化,那就不得不说一下现在的智能手机了,各个品牌之间早已“内卷”起来,比手机反应速度,比系统的流畅等等,总之,是丝毫不敢松懈,不是正在研发新品就是在研发新品的路上!

20.jpg

 不仅仅是手机“内卷”,手机APP最终也“卷”起来了。随着市场竞争激烈程度猛增,开发人员为了先人一步更新APP版本,导致现在的APP质量是良莠不齐,比如说最常见的APP卡顿现象,并且还总是卡顿在关键时刻,令人抓狂不已,一天的坏心情从“卡顿”开始!

  那么,怎样才能改变这一局面呢?如何才能让一款APP在众多APP当中脱颖而出呢?首先,开发人员要及时监测APP卡顿现象,分析APP卡顿原因,并彻底解决卡顿现象。

  现在使用工具去监测分析APP卡顿现象的方法,是许多开发人员正在采用的,这种方法既精准又快捷,相比较传统的监测方法效率要提升许多。像友盟U-APM卡顿分析功能,此功能是通过U-APM提供的监控SDK 捕获所监控App主线程消息执行超时的情况,帮助开发人员优化用户使用体验、用户反馈问题是否与卡顿现象间接引发有关。

  并且,友盟还可支持Android和iOS采集,Android支持5%采样率,iOS支持全量采集。提供卡顿趋势分析、卡顿列表及卡顿详情日志、支持分系统版本、运营商、App版本、设备等6个纬度的查看卡顿分布。

  APP的卡顿监测及分析我们已经了解,接下来我们再来了解下一个开发人员比较感兴趣的话题:导致APP卡顿的原因!

  一、导致APP卡顿的原因

  1、过于复杂的布局

  界面性能取决于 UI 渲染性能. 我们可以理解为 UI 渲染的整个过程是由 CPU 和 GPU 两个部分协同完成的。

  其中, CPU 负责UI布局元素的 Measure, Layout, Draw 等相关运算执行. GPU 负责栅格化(rasterization), 将UI元素绘制到屏幕上。

  如果我们的 UI 布局层次太深, 或是自定义控件的 onDraw 中有复杂运算, CPU 的相关运算就可能大于16ms, 导致卡顿。

  2、过度绘制( Overdraw )

  Overdraw: 用来描述一个像素在屏幕上多少次被重绘在一帧上.

  通俗的说: 理想情况下, 每屏每帧上, 每个像素点应该只被绘制一次, 如果有多次绘制, 就是 Overdraw, 过度绘制了。 常见的就是:绘制了多重背景或者绘制了不可见的UI元素.

  3、UI 线程的复杂运算

  UI线程的复杂运算会造成UI无响应, 当然更多的是造成UI响应停滞, 卡顿。产生ANR已经是卡顿的极致了。

  4、频繁的 GC

  上面说的都是处理上的CPU, GPU 相关的. 实际上内存原因也可能会造成应用不流畅, 卡顿的。

  为什么说频繁的 GC 会导致卡顿呢?

  简而言之, 就是执行 GC 操作的时候,任何线程的任何操作都会需要暂停,等待 GC 操作完成之后,其他操作才能够继续运行, 故而如果程序频繁 GC, 自然会导致界面卡顿。

  导致频繁GC有两个原因:

  ①内存抖动(Memory Churn), 即大量的对象被创建又在短时间内马上被释放。

  ②瞬间产生大量的对象会严重占用 Young Generation 的内存区域, 当达到阀值, 剩余空间不够的时候, 也会触发 GC。即使每次分配的对象需要占用很少的内存,但是他们叠加在一起会增加 Heap 的压力, 从而触发更多的 GC。

  以上就是关于app卡是服务器的原因吗的全部内容了,希望本文能对您产生一些帮助。

湖南麓驰网络科技有限公司-腾达互联www.tdaidc.com提供高防服务器、抗攻击服务器、打不死服务器租用、高防双线服务器、高防机房、游戏服务器、棋牌服务器、无视CC服务器。

能够给客户提供单个硬防防御100G、200G、300G、600G等多种选择,可以满足视频、游戏、企业、论坛等多种类型客户的安全防御需求。联系QQ:613366960 24小时值班:613366969


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!