gpt4 book ai didi

java - Android : SurfaceView, 为什么在不同的线程上绘制

转载 作者:行者123 更新时间:2023-11-29 22:02:52 25 4
gpt4 key购买 nike

SurfaceView :据我所知,SurfaceView 在不同的线程上绘制(使用 SurfaceHolder.Callback())。

在一个 Android 游戏项目中,我在 SurfaceView 类中看到:它们在同一个类中处理物理(位置,...),但是在处理图形(绘制到屏幕)时,它们使用另一个线程处理。 Android Example Landern 也使用了这种模型。

请告诉我这个模型有哪些优点? (意味着,使用另一个线程绘制到屏幕而不是在 SurfaceView 的同一个线程上绘制)。

谢谢:)

最佳答案

根据我有限的经验:

如果您在单独的线程中绘制,您可以在“主”线程中进行更复杂的计算等时保持“背景动画”(流动的水、草、燃烧的火焰)。

如果您在一个线程中完成所有操作,您基本上会在绘图时阻止所有移动,反之亦然,每个移动/计算都会阻止绘图。

优势取决于您要制作的游戏。如果你制作一款没有任何特殊动画和效果的棋盘游戏,我想你最好使用一个线程。

关于java - Android : SurfaceView, 为什么在不同的线程上绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11518824/

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