【Swift】公司项目性能优化(一)

这篇具有很好参考价值的文章主要介绍了【Swift】公司项目性能优化(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  随着项目开发接近了尾声,改Bug和性能优化成了工作的重中之重,移动端开发,最注重用户体验,一个丝滑般的应用程序能在用户心里加很多印象分。

  1、优化列表的滑动速度

  作为内容创作类的app,里面包含了大量的写作、画作、小说、动态等多种动态高度的样式;列表滑动不卡顿,就成了用户体验的关键问题。

  1)Autolayout自动布局比直接计算frame消耗更多的CPU资源,所以在确定内容位置、宽高情况下最好使用frame。

  2)使用线程来处理文本、尺寸计算、图片处理等;避免卡顿主线程;

  3)对于动态高度的cell,最好能提前计算好,缓存到数据模型中,减少计算高度所浪费的时间;

  4)滑动过程中避免重布局。

  2、减少离屏渲染的使用

  圆角、阴影、都会触发GPU的离屏渲染,开辟新的屏幕缓冲区,渲染之后,重新切换到当前,这中间需要经过多次上下文环境的切换,只会浪费更多的GPU资源。

  3、网络优化

  1)减少不必要的API请求次数,对于能本地能直接操作的,就不要去增加额外的请求次数;

  如:评论动态、回复评论、发布动态等,这些内容都是本地可直接知道的数据,就无需再评论之后,重新拉取列表数据,再进行reload。

  2)尽量减少视图数量和层次;

  对于可复用的view,很多开发者习惯抽取更多view,进行组合套装,这样就增加了,view视图的深度。

  4、安装包瘦身

  1)减少无用的资源(如:图片、代码等)

  2)编译器优化、Strip Linked Product、Make Strings Read-Only、Symbols Hidden by Default设置为YES

  去掉异常支持,Enable C++ Exceptions、Enable Objective-C Exceptions设置为NO,Other C Flags添加-fno-exceptions文章来源地址https://www.toymoban.com/news/detail-807421.html

到了这里,关于【Swift】公司项目性能优化(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 首个AI程序员诞生!已通过公司面试,掌握全栈技能,可独自开发完整项目

    3 月 13 日,由华人团队创立的 Cognition Labs 推出了第一个 AI 软件工程师 Devin,从目前公布的信息来看,说它是目前最强的 AI 软件工程师似乎一点也不过分,今天直接在 X 上刷屏。 在 SWE-Bench 基础测试中,无需人类协助,Devin 就可以解决 13.86% 的问题。而目前的 SOTA 模型,在没

    2024年04月11日
    浏览(61)
  • 测试开发【Mock平台】09开发:项目管理(五)搜索、删除和Table优化

    【Mock平台】为系列测试开发教程,从0到1编码带你一步步使用Spring Boot 和 Antd React框架完成搭建一个测试工具平台,希望作为一个实战项目对各位的测试开发学习之路有帮助,大奇一个专注测试技术干货原创与分享的家伙。 Mock平台系统项目基本配置,我们已经完成了展示,增

    2024年02月10日
    浏览(46)
  • 深入了解Vue-loader: 优化Vue.js项目开发的利器

      Vue-loader是一个用于加载Vue组件的webpack插件。它允许你编写单文件组件(SFC),并将它们转换为JavaScript模块,以便在浏览器中使用。这个工具非常有用,因为它可以帮助你在开发过程中更好地组织和管理你的Vue组件。 如何安装:  安装完毕后,你需要在webpack配置文件中添

    2024年01月17日
    浏览(48)
  • 【Unity】【VR开发】针对VR项目的优化版Unity Build Settings

    编辑器中做了功能后,打包后却总会画面不满意,所以到处学习,总结成本篇,希望有用。 本篇总结基于Unity 2021 LTS。 模板选择3D(URP) 如果URP不支持所用的部分Assets,那么也可以选择Built-in管线,不过URP肯定画面效果上要胜过Built-in。 HDRP不适用于移动端,所以不能作为VR一

    2024年02月19日
    浏览(47)
  • 使用 Swift 代码优化项目编译速度

    软件的性能是评价一个软件质量的重要指标,尤其在今天这个时代,性能已成为大型项目不可或缺的考虑因素之一。对于用户量极大的软件,如网银系统、在线购物商城等,更是必须保证其高效稳定的性能。在这种背景下,优化项目的编译速度就显得尤为重要。本文将介绍如

    2024年01月20日
    浏览(44)
  • SpringBoot多模块项目开发(Maven多模块项目)

    不论是maven还是Gradle,参考优秀的开源项目和boot官网的最佳实践使用构建工具组织代码来构建自己的项目,比如nacos、springboot,ruoyi等等; 要找到 Spring Boot 官网上关于 Maven 多模块项目的最佳实践,可以按照以下步骤进行: 打开 Spring Boot 官网(spring.io/projects/sp… 在导航菜单

    2024年02月04日
    浏览(40)
  • 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)

    全文主体框架来源于黑马瑞吉外卖的项目资料,我在文中会嵌入如下五个方面的个人内容: 项目中易发生错误的地方 项目中涉及的一些难理解知识点 一些遗忘知识点的回顾 业务的多种实现方法 我在做项目时的思考和一些踩坑 作为一名软件开发工程师,我们需要了解在软件开

    2024年02月05日
    浏览(53)
  • 搭建SpringBoot项目——开发环境搭建开发环境搭建

    简介         SpringBoot 是 Java 社区最有影响力之一的开源的Spring后端开发框架,也是企业级应用开发的首选技术,Spring Boot 拥有良好的技术基因,它是伴随着Spring 4 而产生的技术框架,在继承了 Spirng 框架所有优点的同时也为开发者带来了巨大的便利,与普通的 Spring 项目相比

    2024年02月03日
    浏览(53)
  • 【开源与项目实战:开源实战】79 | 开源实战二(中):从Unix开源开发学习应对大型复杂项目开发

    我们知道,项目越复杂、代码量越多、参与开发人员越多、开发维护时间越长,我们就越是要重视代码质量。代码质量下降会导致项目研发困难重重,比如:开发效率低,招了很多人,天天加班,出活却不多;线上 bug 频发,查找 bug 困难,领导发飙,中层束手无策,工程师抱

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包