5

我用两种方式编写了同一个程序。

一个使用 Surfaceview,另一个使用自定义视图。根据 android SDK 开发指南,使用表面视图更好,因为您可以生成一个单独的线程来处理图形。SDK 开发指南声称,使用带有无效调用的自定义视图仅适用于较慢的动画、不太强烈的图形。

但是,在我的简单应用程序中,我可以清楚地看到,使用带有调用无效的自定义视图似乎渲染得更快。

你们对此有什么了解/想法?

我的touchEvent代码一模一样,我的绘图代码一模一样。唯一不同的是,一个是全部在UI线程中,另一个是使用一个tread来处理绘图。

4

1 回答 1

2

SurfaceView 可以在 2 个缓冲区上进行绘图,您的自定义视图怎么样?

另一件事:您提到文档说invalidate在较慢的动画/不太强烈的图形上工作得很快。你的“简单应用”有多激烈?您应该尝试进行压力测试并考虑单线程如何处理您的触摸输入。

我的游戏中有 3 个线程。一个用于游戏逻辑,一个用于绘图,然后是“普通” UI 线程......

于 2010-08-20T10:23:04.240 回答