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

北京当地网站 点标题优化怎么做

北京当地网站 点,标题优化怎么做,网站开发预算多少,建设手机银行官网iOS高级开发工程师面试——关于优化 一、TableView 有什么好的性能优化方案?二、界面卡顿和检测你都是怎么处理?三、谈谈你对离屏渲染的理解?四、如何降低APP包的大小?五、日常如何检查内存泄露?六、APP启动时间应从哪些方面优化?一、TableView 有什么好的性能优化方案?…

iOS高级开发工程师面试——关于优化

  • 一、TableView 有什么好的性能优化方案?
  • 二、界面卡顿和检测你都是怎么处理?
  • 三、谈谈你对离屏渲染的理解?
  • 四、如何降低APP包的大小?
  • 五、日常如何检查内存泄露?
  • 六、APP启动时间应从哪些方面优化?

一、TableView 有什么好的性能优化方案?

  1. Tableview 懒加载、Cell 复用
  2. 高度缓存(因为 heightForRowAtIndexPath: 是调用最频繁的方法)
  • 当 cell 的行高固定时,使用固定行高 self.tableView.rowHeight = xxx;
  • 当 cell 的行高是不固定时,根据内容进行计算后缓存起来使用。第一次肯定会计算,后续使用缓存时就避免了多次计算;高度的计算方法通常写在自定义的cell中,调用时,既可以在设置
    cell 高的代理方法中使用,也可以自定义的 model 中使用(且使用时,使用get方法处理)。
  1. 数据处理
  • 使用正确的数据结构来存储数据;
  • 数据尽量采用局部的 section,或 cellRow 的刷新,避免 reloadData;
  • 大量数据操作时,使用异步子线程处理,避免主线程中直接操作;
  • 缓存请求结果。
  1. 异步加载图片:SDWebImage 的使用
  • 使用异步子线程处理,然后再返回主线程操作;

  • 图片缓存处理,避免多次处理操作;

  • 图片圆角处理时,设置 layer 的 shouldRasterize (英[ˈræstəraɪz])属性为 YES,可以将负载转移给 CPU。

  1. 按需加载内容
  • 滑动操作时,只显示目标范围内的 Cell 内容,显示过的超出目标范围内之后则进行清除;

  • 滑动过程中,不加载显示图片,停止时才加载显示图片。

  1. 视图层面

(1)减少 subviews 的数量,自定义的子视图可以整合在形成一个整体的就整合成一个整体的子视图;
(2)使用 drawRect 进行绘制(即将 GPU 的部分渲染转接给 CPU ),或 CALayer 进行文本或图片的绘制。在实现 drawRect方法的时候注意减少多余的绘制操作,它的参数 rect 就是我们需要绘制的区域,在 rect范围之外的区域我们不需要进行绘制,否则会消耗相当大的资源;
(3)异步绘制,且设置属性self.layer.drawsAsynchronously = YES;(遇到复杂界面,遇到性能瓶颈时,可能就是突破口);
(4)定义一种(尽量少)类型的 Cell 及善用 hidden 隐藏(显示) subviews;
(5)尽量使所有的 view 的opaque 属性为 YES,包括 cell 自身,以提高视图渲染速度(避免无用的 alpha 通道合成,降低 GPU 负载);
(6)避免渐变,图片缩放的操作;
(7)使用 shadowPath 来画阴影;
(8)尽量不使用cellForRowAtIndexPath: ,如果你需要用到它,只用一次然后缓存结果;
(9)cellForRowAtIndexPath不要做耗时操作:如不读取文件 / 写入文件;尽量少用 addView 给 Cell 动态添加 View,可以初始化时就添加,然后通过hide 来控制是否显示;
(10)我们在 Cell上添加系统控件的时候,实际上系统都会调用底层的接口进行绘制,大量添加控件时,会消耗很大的资源并且也会影响渲染的性能。当使用默认UITableViewCell 并且在它的 ContentView 上面添加控件时会相当消耗性能。所以目前最佳的方法还是继承UITableViewCell,并重写 drawRect 方法;
(11)当我们需要圆角效果时,可以使用一张中间透明图片蒙上去使用ShadowPath 指定 layer 阴影效果路径使用异步进行 layer 渲染(Facebook 开源的异步绘制框AsyncDisplayKit )设置 layer 的 opaque 值为 YES减少复杂图层合成尽量使用不包含透明(alpha)通道的图片资源尽量设置 layer的大小值为整形值直接让美工把图片切成圆角进行显示,这是效率最高的一种方案很多情况下用户上传图片进行显示,可以让服务端处理圆角使用代码手动生成圆角 Image 设置到要显示的 View 上,利用 UIBezierPath ( CoreGraphics 框架)画出来圆角图片。

二、界面卡顿和检测你都是怎么处理?

卡顿原因: 在一个VSync内GPU和CPU的协作,未能将渲染任务完成放入到帧缓冲区,视频控制器去缓冲区拿数据的时候是空的,所以卡帧。

卡顿优化:

  1. 图片等大文件IO缓存

  2. 耗时操作放入子线程

  3. 提高代码执行效率(JSON to Model的方案,锁的使用等,减少循环,UI布局frame子线程预计算)

  4. UI减少全局刷新,尽量使用局部刷新

http://www.dtcms.com/wzjs/277371.html

相关文章:

  • 芜湖网站设计做推广的技巧
  • 江苏建设人才网网站搜狗指数
  • wordpress插件推荐英文seo兼职
  • 新专业建设的重点任务宁波网站seo诊断工具
  • 做社区网站用什么程序注册网站需要多少钱
  • 设计师接单平台网站搜索引擎的关键词优化
  • 做网站 长天津网站建设公司
  • 吉林省梨树县政府网站建设经典网络营销案例
  • 做网站域名 空间郑州seo多少钱
  • 哈尔滨哪里做网站 百度一下
  • 怎样拿电脑做网站免费广告投放网站
  • 做推广的网站吗网络热词2023
  • 基于wordpress个人博客网站论文百度认证中心
  • 酷网站欣赏培训机构有哪些
  • 网站建设受众百度热搜 百度指数
  • 山东网站备案公司小区推广最有效的方式
  • 自己能做网站吗中国行业数据分析网
  • 网站开发哪种语言比较好新媒体营销策略有哪些
  • 东莞订制网站建设深圳网络公司推广
  • 网站怎么做宣传百度排名点击
  • 企业做企业网站的好处玄幻小说百度风云榜
  • 网站推广怎么做优化网站流量统计分析的维度包括
  • 青岛开发区网站建设公司推广普通话手抄报内容文字
  • 如何用天地图做网站在线数据分析工具
  • 短链接生成官网seo搜索引擎工具
  • wordpress目录图片广州百度seo排名
  • 招远做网站价格网络营销公司好不好
  • 浏览器的网站清博舆情系统
  • 网店推广的发展趋势北京搜索关键词优化
  • 做网站公司价格多少广告营销策略有哪些