gpt4 book ai didi

android - 为什么UI线程和Render线程不能同时运行?

转载 作者:搜寻专家 更新时间:2023-11-01 09:21:23 27 4
gpt4 key购买 nike

多年以来,我一直是一名平庸的 Android 开发人员。我喜欢安卓,但有一个大问题;掉帧。即使是最强大的设备也会如此频繁地卡顿,而 IOS 设备可以以恒定的 60fps 运行。我只是不明白为什么。我想知道。所以我做的第一件事就是观看有关性能的 I/O 演示。我真的不明白一件事。为什么 ui 和渲染线程不能同时运行?是的,我知道像渲染线程这样的基础知识,当 ui 线程正在做这件事时不知道要渲染什么,但是为什么渲染线程不能渲染之前的帧?你可以在这里看到视频: https://youtu.be/9HtTL_RO2wI?t=491这是我要的图表: Dıagram

你明白了。我不知道关于 android 的底层知识,任何人都可以像我五岁一样解释这个。

最佳答案

您进程的主线程负责渲染将呈现给用户的帧,因此您应该让代码尽可能快速和轻便地运行在那里。如果您必须执行一些繁重的处理或访问任何可能影响应用程序流动性的 IO(网络、SD 卡等),因为线程可能正在等待响应。

作为一种好的做法,您应该在另一个线程上启动 IO 访问/繁重处理以在后台运行,并让系统决定运行它的优先级,如果有必要,建议向用户提供一些反馈,例如 ProgressBar 或其他东西表示正在处理某些内容。

此外,渲染线程在渲染之前需要知道要渲染什么,因此 UI 线程必须处理应用想要向用户呈现的信息。

关于android - 为什么UI线程和Render线程不能同时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54951053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com