博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 界面流畅性能优化
阅读量:7239 次
发布时间:2019-06-29

本文共 650 字,大约阅读时间需要 2 分钟。

hot3.png

  1. 尽量选择更加轻量级的控件,相比较于uiwindow来说uiview更加轻量级,相比较于uiview来说calayer更加轻量级,所以一般在加载一个界面的时候尽量使用懒加载(什么时候使用什么时候加载,而不是一开始就全部加载出来),而且尽量在耗费大量cpu运行的地方使用异步开启后台线程执行并缓存,等到使用的时候再在缓存中取出使用。

  2. 关于渲染,  相比cpu和gpu的渲染,CPU是通过软件进行渲染,很多时候CPU的渲染会增加性能的消耗,gpu属于只有固定的函数的固定多边形渲染,cpu将渲染处理计算出来传递给gpu,gpu进行渲染,在uiview进行渲染的时候尽量选择更加高效底层的才能增加他的效率,比如 我们通过创建一个 cgcontextref  context= cgbitmapcontextcreate (.....)来创建一个位图,然后通过 cgimagedraw(context。。。。。cgimage);  (在此附上uiimage和cgiamgeref的相互转换,cgimageref  image=img。cgimage    uiimage * image=[uiimage  imagewithcgimage ])  将image 绘制到context上 ,然后将该位图加载到layer上,通过layer。contents=context。然后加载到view的layer上。(尽量在后台线程中执行)

转载于:https://my.oschina.net/u/2329800/blog/654765

你可能感兴趣的文章
Android 新加几个开源项目
查看>>
Mysql 不同版本 说明
查看>>
ADT下载地址整理(转)
查看>>
微信公众号一键关注方法
查看>>
Cisco ASA5500系列防火墙恢复IOS全过程
查看>>
开源混淆工具ProGuard配置详解及配置实例
查看>>
telnet用法 测试端口号
查看>>
SQL SERVER 表分区
查看>>
找出单链表的中间位置指针
查看>>
[IOS]《A Swift Tour》翻译(一)
查看>>
[Asp.net]说说密码框和只读框
查看>>
content-type收集
查看>>
使用easyui实现列表的批量删除
查看>>
研发费用调整利润
查看>>
11g RAC R2 之Linux DNS 配置
查看>>
Windows 7系统安装MySQL5.5.21图解
查看>>
《5天学会卡西欧fx-5800p之实操视频教程(初级)》目录和我的工作室现场曝光...
查看>>
浏览器桌面通知(notifications)
查看>>
让Sqlite脱离VC++ Runtime独立运行
查看>>
android自动打包方法(ant+proguard+签名)
查看>>