您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

性能优化 《互站网》

  • 时间:2022-07-18 00:20 编辑: 来源: 阅读:289
  • 扫一扫,手机访问
摘要:性能优化 《互站网》
NSTimer、注册runloop等循环问题,NSTimer持有self,runloop和thread一一对应,主线程不退出,self无法回收,造成循环引用。 加工:1。通过包含块的定时器函数方法创建定时器,并配合弱、强操作。 2.通过中介创建一个实例对象(例如,创建一个继承NSProxy的实例对象)。在这个文件中,announcement属性(由weak修改)通过作为目标执行器的Selector: (SEL) SEL {}和-(void)Forward Invocation:(NSInvocation *)调用的-(NSMethodSignature *)MethodSignature传递。 然后这个实例对象被strong外部修饰。当定时器正常释放销毁时,调用析构函数,清除弱引用表,不会造成额外的持有。 3.创建一个NSobject类型的对象,调用addMethod方法动态添加方法,改变原来要执行的操作方法。 注意:弱的操作要慎用。 在处理循环引用时使用。 执行weak时,底层调用objc_initWeak函数,然后store_weak会涉及到weak_register,通过hash操作放入weak_table,key:当前对象的地址,value:weak对象的所有地址。 当一个对象被释放时,它将调用weak_unregister,遍历弱引用表,并通过弱指针将所有对象设置为nil。 相对消费表现 界面优化可以异步操作,将UI分解成小任务。 界面慢的原因及相应的解决方法:1。耗时的操作:文字计算、绘制大量图片、高清画图——分线程操作;2.CGD在短时间内创建大量任务——使用线程池处理(提前创建若干可执行线程,放入一个池中。必要时不需要从线程池中创建线程,使用后也不需要销毁线程,可以直接放回池中,减少了创建和销毁线程对象的开销)。滑动优化可以从CPU和GPU层面考虑:CPU:创建和销毁对象;预布局(布局计算-);预渲染(文本等异步渲染,图片编解码等。)子线程操作,减少CPU时间消耗GPU:纹理渲染,避免离屏渲染(GPU在当前屏幕缓冲区之外开发一个新的缓冲区用于渲染操作。 GPU增加的工作量导致CPU+GPU工作量之和超时,导致卡慢。 );通过CPU异步绘图减轻GPU压力;降低视图级别的复杂性。 除了使用工具,还可以通过代码来检测内存泄漏。在视图生命周期结束时,可以推迟发送消息,并通过响应返回值来判断是否可以释放所有内容。 NSLog(@ "方法响应的返回值表明可能导致了内存泄漏% @ "、nsstringfromclass([self class]);


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部