当前位置: 首页 > news >正文

公司网站建设推荐乐云seo企业网站项目的流程

公司网站建设推荐乐云seo,企业网站项目的流程,网络营销seo是什么意思,易加网站建设方案iOS卡顿原因与优化 1. 卡顿简介 卡顿#xff1a; 指用户在使用过程中出现了一段时间的阻塞#xff0c;使得用户在这一段时间内无法进行操作#xff0c;屏幕上的内容也没有任何的变化。 卡顿作为App的重要性能指标#xff0c;不仅影响着用户体验#xff0c;更关系到用户留…iOS卡顿原因与优化 1. 卡顿简介 卡顿 指用户在使用过程中出现了一段时间的阻塞使得用户在这一段时间内无法进行操作屏幕上的内容也没有任何的变化。 卡顿作为App的重要性能指标不仅影响着用户体验更关系到用户留存、DAU等重要产品数据。因此需要关注APP的卡顿 2. 卡顿产生的原因 首先屏幕上看到的所有内容都是计算机绘制出来的图像 帧率Frames Per Second(fps)表示每秒渲染帧数 通常用于衡量画面的流畅度每秒帧数越多则表示画面越流畅。 通常60fps比较流畅也就是60张/秒每张图片需要的渲染时间大约是 1s/60张 1000ms/60张 16.7ms/1张 也就是1张图像在16.7ms内出现一次就不会造成卡顿现象。 CPU 中计算显示内容比如视图的创建、布局计算、图片解码、文本绘制等GPU 进行变换、合成、渲染把渲染结果提交到帧缓冲区去在下一次 VSync 信号到来时显示到屏幕上 卡顿产生的原因当单位时间内界面要刷新的时候CPU或GPU由于计算量大没有做好准备 就会造成界面显示前一个时间段的界面从而造成卡顿、掉帧现象 3. 如何避免卡顿 核心 减少CPU、GPU的资源消耗 CPU 创建对象对象的创建会分配内存、调整属性因此尽量使用轻量级的对象布局计算视图布局的计算是 App 中最为常见的消耗 CPU 资源的地方不要频繁的调用UIView的相关属性尽量提前计算好布局在有需要时一次性调整到对应的属性不要多次、频繁的计算和调整这些属性线程处理控制一下线程的最大并发数量尽量把耗时的操作放到子线程包括文本计算、布局计算、图片的解码编码 GPU 尽量避免短时间内大量图片的显示尽可能将多张图片合成一张进行显示GPU能处理的最大纹理尺寸是4096x4096一旦超过这个尺寸就会占用CPU的资源进行处理所以纹理尺寸尽量不要超过这个尺寸尽量减少视图数量和层次减少透明的视图alpha1不透明的就设置opaque为YES尽量避免出现离屏渲染 在OpenGL中GPU有2种渲染方式 1 当前屏幕渲染在当前用于显示的屏幕缓冲区进行渲染操作 2 离屏渲染在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作 离屏渲染消耗性能的原因 需要创建新的缓冲区离屏渲染的整个过程需要多次切换上下文环境先是从当前屏幕On-Screen切换到离屏Off-Screen等到离屏渲染结束以后将离屏缓冲区的渲染结果显示到屏幕上又需要将上下文环境从离屏切换到当前屏幕 哪些操作会触发离屏渲染 光栅化layer.shouldRasterize YES遮罩layer.mask圆角同时设置layer.masksToBounds YES、layer.cornerRadius大于0考虑通过CoreGraphics绘制裁剪圆角或者叫美工提供圆角图片阴影layer.shadowXXX如果设置了layer.shadowPath就不会产生离屏渲染 4. 卡顿检测 监控FPS监控RunLoopping主线程 4.1 监控FPS 帧率Frames Per Second(fps)表示每秒渲染帧数 使用系统CADisplayLink监控CADisplayLink是一个与屏幕刷新率相同的定时器大约1/60s调用一次。 将其注册到RunLoop里面计算当前画面的帧数。 delta为时间差等于1 4.2 监控RunLoop 由于UI刷新只能在主线程操作因此平时所说的“卡顿”主要是因为主线程执行了比较耗时的操作 因此可以添加observer到主线程Runloop中通过监听Runloop状态切换的耗时以达到监控卡顿的目的 RunLoop在BeforeSources和AfterWaiting后会进行任务的处理。可以在此时阻塞监控线程并设置超时时间若超时后RunLoop的状态仍为RunLoopBeforeSources或AfterWaiting表明此时RunLoop仍然在处理任务主线程发生了卡顿 4.3 子线程Ping主线程 ping是常用的网络测试工具用来测试数据包能否到达ip地址。 ping主线程的核心思想是向主线程发送一个信号一定时间内收到了主线程的回复即表示当前主线程流畅运行。 没有收到主线程的回复即表示当前主线程在做耗时运算发生了卡顿。 子线程Ping主线程的实现思路 创建一个子线程进行循环检测每次检测时设置标记位为YES然后派发任务到主线程中将标记位设置为NO。接着子线程休眠设定的阈值判断标志位是否成功设置成NO如果没有说明主线程发生了卡顿。 相当于 子线程设置一个标识YES 如果发生了主线程的卡顿那么到规定时间主线程内的代码没有执行则标识还是YES这时候代表卡顿 如果没有发生卡顿那么到规定时间主线程内的代码执行则表示变为NO这时候代表没有发生卡顿 总结
http://www.hkea.cn/news/14476398/

相关文章:

  • 网站建设基本知识代码网站全屏宽度是多少
  • 如何查公司网站开发时间网站建设辶金手指排名十二
  • 百度怎么建设网站常用的电子商务网站
  • 定制开发一般多少钱无锡网站制作优化推广
  • 无锡网站建设制作温州网站设计服务
  • 网站开发专业广州营销课程培训班
  • 便利的邯郸网站建设asp.net网站开发基础
  • 新校区建设网站承德做网站
  • 网站工作建设站电话云服务器使用教程
  • 深圳松岗网站建设网页传奇游戏排行榜2022
  • 制作网站制作公司WordPress 多厂商
  • 公民道德建设网站如何做色流量网站
  • 福州网站建设公司哪个好适合seo软件
  • 网站建设行业淘宝装修模板nodejs做网站容易被攻击吗
  • 知企业网站怎么打不开wordpress安装问题
  • 佛山高端网站建设报价线下推广怎么做
  • 电子商务网站软件建设的垂直网站建设步骤
  • 免费的建设网站软件下载wordpress投稿验证码
  • 家政公司网站的建设建设银行跨行转账网站
  • 网站建设与管理考试题常熟沿江开发区人才网最新招聘
  • 网站技术培训学校如何用外网ip做网站
  • 做网站对电脑要求高吗加盟手机网站源码
  • 去哪找人做网站网站网警备案流程
  • 做明星简介网站侵权吗正规的网站制作电话
  • 固始做网站的公司优化网站标题
  • 寿县有做网站开发的吗手机网站建设规划图
  • 企业网站销售省级建设主管部门网站
  • 网站基本配置优秀网站h5案例分享
  • 福州网站怎么做seo网站浮动窗口怎么做
  • 搜集10个优秀网站学校网站建设机构