已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
性能优化,M了个J,面试题,你在项目中是怎么优化内存的?优化你是从哪几方面着手?列表卡顿的原因可能有哪些?你平时是怎么优化的?遇到tableView卡顿嘛?会造成卡顿的原因大致有哪些?,CPU和GPU,在屏幕成像的过程中,CPU和GPU起着至关重要的作用CPU(CentralProcessingUnit,中央处理器)对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的格式转换和解码、图像的绘制(CoreGraphics)GPU(GraphicsProcessingUnit,图形处理器)纹理的渲染,CPU,GPU,帧缓存,视频控制器,屏幕,读取,渲染,计算,显示,在iOS中是双缓冲机制,有前帧缓存、后帧缓存,屏幕成像原理,水平同步信号(HSync),垂直同步信号(VSync),卡顿产生的原因,CPU,GPU,VSync,VSync,VSync,VSync,VSync,卡顿解决的主要思路尽可能减少CPU、GPU资源消耗按照60FPS的刷帧率,每隔16ms就会有一次VSync信号,卡顿优化-CPU,尽量用轻量级的对象,比如用不到事件处理的地方,可以考虑使用CALayer取代UIView不要频繁地调用UIView的相关属性,比如frame、bounds、transform等属性,尽量减少不必要的修改尽量提前计算好布局,在有需要时一次性调整对应的属性,不要多次修改属性Autolayout会比直接设置frame消耗更多的CPU资源图片的size最好刚好跟UIImageView的size保持一致控制一下线程的最大并发数量尽量把耗时的操作放到子线程文本处理(尺寸计算、绘制)图片处理(解码、绘制),卡顿优化-GPU,尽量避免短时间内大量图片的显示,尽可能将多张图片合成一张进行显示GPU能处理的最大纹理尺寸是4096x4096,一旦超过这个尺寸,就会占用CPU资源进行处理,所以纹理尽量不要超过这个尺寸尽量减少视图数量和层次减少透明的视图(alphaRun-Arguments)DYLD_PRINT_STATISTICS设置为1如果需要更详细的信息,那就将DYLD_PRINT_STATISTICS_DETAILS设置为1,APP的启动,APP的冷启动可以概括为3大阶段dyldruntimemain,APP的启动-dyld,dyld(dynamiclinkeditor),Apple的动态链接器,可以用来装载Mach-O文件(可执行文件、动态库等)启动APP时,dyld所做的事情有装载APP的可执行文件,同时会递归加载所有依赖的动态库当dyld把可执行文件、动态库都装载完毕后,会通知Runtime进行下一步的处理,APP的启动-runtime,启动APP时,runtime所做的事情有调用map_images进行可执行文件内容的解析和处理在load_images中调用call_load_methods,调用所有Class和Category的+load方法进行各种objc结构的初始化(注册Objc类、初始化类对象等等)调用C+静态初始化器和_attribute_(constructor)修饰的函数到此为止,可执行文件和动态库中所有的符号(Class,Protocol,Selector,IMP,)都已经按格式成功加载到内存中,被runtime所管理,APP的启动-main,总结一下APP的启动由dyld主导,将可执行文件加载到内存,顺便加载所有依赖的动态库并由runtime负责加载成objc定义的结构所有初始化工作结束后,dyld就会调用main函数接下来就是UIApplicationMain函数,AppDelegate的application:didFinishLaunchingWithOptions:方法,APP的启动优化,按照不同的阶段dyld减少动态库、合并一些动态库(定期清理不必要的动态库)减少Objc类、分类的数量、减少Selector数量(定期清理不必要的类、分类)减少C+虚函数数量Swift尽量使用structruntime用+initialize方法和dispatch_once取代所有的_attribute_(constructor)、C+静态构造器、ObjC的+loadmain在不影响用户体验的前提下,尽可能将一些操作延迟,不要全部都放在finishLaunching方法中按需加载,安装包瘦身,安装包(IPA)主要由
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络教育平台课程开发计划
- 品牌传播活动策划指南
- 通信设备升级项目管理手册与时间表
- 高级体育经纪人职业规划指导
- 专业认证考试备考计划及复习指导
- 某大数据分析项目如用户画像实施效果总结
- 社工面试日间照料中心应急题
- 美容美发师初级技能培训与客户服务计划
- 司法鉴定助理环境面试重点突破
- 碳资产管理师中级相关法律法规
- 江苏:泵站运行规程(DB32-T 1360-2009)
- 中外教育名著选读:杜威教育思想解析
- 2024年危险化学品典型事故案例反思
- 酒店收银员交接班规定
- 《民族团结一家亲同心共筑中国梦》主题班会
- 三年级成语测试题及答案
- JG/T 456-2014同质聚氯乙烯(PVC)卷材地板
- 凝血及抗凝血机制课件
- 25春国家开放大学《学前儿童音乐教育活动指导》期末大作业答案
- 麻醉意外与并发症处理规范与流程
- 中国银行笔试题目及答案
评论
0/150
提交评论