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

360官方网站网址义乌网站建设公司排名

360官方网站网址,义乌网站建设公司排名,网页制作培训要多少钱,安卓小程序开发教程一#xff1a;什么是TableView的优化以及为什么要优化 1#xff09;CPU#xff08;中央处理器#xff09;和GPU#xff08;图形处理器#xff09;#xff1a;CPU主要从事逻辑计算的一些工作#xff1b;GPU主要从事图形处理方面的工作。 2#xff09;CPU和GPU的共同点什么是TableView的优化以及为什么要优化   1CPU中央处理器和GPU图形处理器CPU主要从事逻辑计算的一些工作GPU主要从事图形处理方面的工作。   2CPU和GPU的共同点   都有自己的缓存体系都有自己的数字和逻辑运算单元都为了完成计算任务而设计。   3CPU和GPU的不同点   CPU的核少但是核内空间非常大能够处理复杂的逻辑。   GPU核多但是每个核的空间相对较小故而处理复杂逻辑的空间较少。   针对CPU和GPU的上述不同面对一个程序系统分配给CPU的往往是较为复杂的逻辑运算分配给GPU的通常是图片等控件的操作。   4上述不同而导致的结果   当程序员为CPU编程时倾向于用复杂的逻辑结构优化算法来减少计算任务的时间Latency。   为GPU编程-利用其能够处理海量数据的优势来提高总的数据的吞吐量来掩盖Latency。   5为什么优化   学术上平衡CPU和GPU在工作上的压力从而正确的使用CPU和GPU的资源使他们均匀的负载 这样子使得FPS保持在60帧左右最终使得用户体验更加美好。   非学术上掌握UITableView能够给面试加分。   二UITableView的工作原理   1tablewView代理方法的执行顺序。   UITableView返回多少组-----每组返回多少行cell---计算每个cell的高度----指定cellcell布局   2cell的复用。   原理当滚动列表时UITableView部分cell会移除Window 但是移除的cell并没有被立即释放 而是放到了一个叫做复用池的对象池中处于待定状态当有新的cell要出现在Window界面上时首先会从复用池中寻找是否有相同类型的cell如果有直接拿过用最直观的表现是新出现的cell有没有开辟新的内存空间如果没有创建一个新的类型的cell所以UITableView可能拥有多种类型的cell复用池也可能存储着多种类型的cell系统通过定义reuseIndentifer作为每个cell的唯一标示符来确定即将出现的cell复用何种类型的cell。   三UITableView的具体优化   1尽量使用cell的复用。   使用cell的复用可以减少内存的开销没有开辟新的空间也减少了一些计算量。   2对于不定高的cell 提前将每个cell的高度存入数组出现一个cell的时候直接从数组中拿出确切的高度即可不用临时计算cell的高度。   图文混排、评论 。   对于固定高的cell和不定高的cell同样适用。   3涉及网络请求加载数据在UITableView滑动结束的时候在进行加载数据渲染避免卡顿。   1、UITableView继承自UIScrollView继承了后者的方法。 //滑动结束的方法 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate //减速结束之后的方法 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView   2、if(self.tableView.draggingNOself.tableView.deceleratingNO)在tableView必须实现的二个方法中(加载cell的方法中)将数据的渲染写在上述if语句中。   4对于tableView的自定义控件 尤其是UIImageView尽量减少使用圆角阴影等layer属性尽量减少使用alpha(透明度)来设置透明度(在项目开发中让UI设计师设计原图就是带圆角的图) 阴影圆角这些layer效果都是在GPU中完成的。   1、当多个视图重叠时GPU会进行合成渲染而渲染的最慢的操作就是混合因此当视图结构太过复杂就会大量消耗GPU的资源所以当一个空间本身是不透明注意设定alpha为1这样可以避免无用的alpha通道合成降低GPU的负载。   2、对控件设置cornerRadius后对其进行clip或mask操作时 会导致offscreenrendering这个也是在GPU中进行的 如果在滑动时 圆角对象太多 回到GPU的负载大增幅。   这时我们可以设置layer的shouldRasterize属性为YES可以将负载转移给CPU 更彻底的是直接使用带圆角的原图。   5尽量使用懒加载   又称为延迟加载 实际上是重写某个对象的getter方法 原理:程序一开始并不对它进行初始化 而是在用到他的时候 才为他开辟内存供它使用。   好处   1、不必将创建的对象的代码全部写在ViewDidLoad中代码可读性强。   2、每个控件的getter方法分别负责各自的实例化处理代码彼此之间独立性强 松耦合。   6减少返回给的cell里面的处理逻辑和处理时间。   驴妈妈为例各个UI控件整合到一起实际上只有一个控件。   7设置每个cell的opaque属性 ----面试亮点   opaque意思是不透明的 浑浊的 有YES和NO二个结果   alpha 透明度   如果控件本身不透明我们设置opaque为YES。   8分段加载数据   设置分页加载数据也就是上拉刷新和下拉加载。   转载于:https://www.cnblogs.com/fengmin/p/5497082.html
http://www.pierceye.com/news/429188/

相关文章:

  • 做ui要上那些网站完全免费网站源码
  • 集团企业网站建设建立网站有哪些步骤
  • 如何做自己的网站整合营销和链路营销
  • 外贸网站的公司介绍响应式布局代码例子
  • 校园网站的意义保定建设厅网站
  • 网站域名注册后怎么打开网站ip安装wordpress
  • 山西太原做网站网站开发上线流程
  • 江门网站建设多少钱网页服务器一年多少钱
  • 网站开发属于什么行业农商网站建设个人总结
  • 网站建设业务开展方案昆明市城市基本建设档案馆网站
  • 湖南网站托管做招聘网站排名
  • 主机屋免费网站空间网站建设安全标准
  • .net cms网站管理系统生态养殖网站模板
  • 国外网站一般公司网站是什么设计师做
  • 备案停止网站网站建设研究课题
  • 个人网站开发是学什么语言网站建设 总体思路
  • 网站怎么留住用户在什么地方可以接到做网站的活
  • jsp页面如何做网站pv统计wordpress4.7.10
  • 澄海网站建设用asp做网站怎么美观
  • 未满18岁能申请网站备案吗网站做qq链接
  • 网络公司网站开发互联网技术专业学什么
  • 校园网站建设详细的设计方案php网站开发实战
  • 网站设计广州量计价格网站可信度建设
  • 门业网站 源码做企业网站必须要座机吗
  • 广东网站开发推荐wordpress快速加载
  • php网站开发外包北京网站建设迈程网络
  • 微信开发者平台取消授权seo资源网站排名
  • 将网站源码下载下来如何使用网站seo链接购买
  • 可信网站认证必须做苏州那里可以建网站
  • 手机网站底部代码有名的网站建设