• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 我怎样才能提高性能

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:34:01 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我的应用有一个基本上由复杂网格组成的 View 。大约有 1400 个 subview 。在“现代”设备上,到此 View 的过渡相当顺利 - 如果您正在寻找它,您会注意到轻微的延迟。 在 iPhone 6 等“旧设备”上,延迟更为明显。加载屏幕大约需要一两秒钟。

我之前使用UIStackViews 来组织UIViews,但是太慢了。现代设备需要大约 1 秒,而较旧的设备则需要 5 秒左右。我将整个布局更改为仅使用常规的旧布局约束来达到上述速度。

View 和约束都在代码中实现 - 这里没有 Storyboard。我没有收到任何警告或错误。 View 基本上只包含具有不同背景的 View 本身和偶尔的标签 - 没有像图像或其他渲染密集型对象那样花哨的东西。

我还尝试将视觉格式 NSLayoutConstraints 的数量减少到最低限度。

我有没有办法测试哪些对象/ View /约束的渲染时间最长?我尝试使用时间分析器,但无法检测到任何缓慢的进程。或者这基本上只是这么多元素的包袱?

感谢您提供有关我可以查看的位置的任何提示 - 约瑟夫



Best Answer-推荐答案


自动布局很昂贵。您无法将它用于如此复杂的 View 。 所以不要使用自动布局。不要使用约束。

以编程方式执行所有布局代码 - (void)viewDidLayoutSubviews (记得叫super) 设置 View 的框架。

如果您不需要滚动、交互或旋转支持,您可以考虑将所有 UI 绘制到位图中,并仅显示位图。这是最快的方法。

关于ios - 我怎样才能提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48127514/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap