




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.2 化学实验与科学探究说课稿-2024-2025学年九年级化学人教版(2024)上册
- 6.2.1.排列教学设计-2023-2024学年高二下学期数学人教A版(2019)选择性必修第三册
- 灌区管理考试题目及答案
- 古代学子考试题目及答案
- 公司贷款考试题目及答案
- 工会干事考试题及答案
- 2025仓库抵押借款合同
- 高级火影考试题目及答案
- 社区智慧养老服务体系的优化与创新方向
- 居住区景观适老化元素的视觉感知与认知分析
- 2025年自学考试《00504艺术概论》考试复习题库(含答案)
- T/CHES 98-2023取水口设施标准化建设与管理技术规程
- 专项项目贡献证明书与业绩认可函(8篇)
- 2025年广东省广州市中考二模英语试题(含答案)
- 消防员心理测试题库及答案解析
- 贷后管理协议合同
- 罗才军《少年闰土》省公开课一等奖全国示范课微课金奖课件
- 放射科造影剂过敏反应应急处理预案
- 触电事故应急演练方案
- 2025年上海市高考英语热点复习:阅读理解说明文
- (完整版)八上新闻拟标题专项训练题
评论
0/150
提交评论