我有红色的表面视图渲染速度更快,但需要比视图更多的资源。Android,关于surfaecview和视图
从我的测试,我想这代码:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
Log.i("OnDraw","ping");
invalidate();
}
一个是surfaceview类渲染,而另一种是视图类呈现,在他们两个有相同的代码。 从日志聊天中,我可以看到来自Log.i方法的消息在视图类中刷新得更快 - 每个视图之间的延迟大约为70毫秒,而在surfaceView的情况下,刷新速度更慢 - 约100毫秒之间的延迟。
那么...什么给了?
基于刷新时间,我猜你在模拟器中运行?我对Android上2D绘图应用的建议:在真实手机上运行它们进行调试和分析。真实手机的性能与仿真器不同。在开始优化性能之前,请尝试在手机上运行它 - 根据我的经验,使用SurfaceView在手机上进行2D绘图性能非常好。我知道这并不能真正回答你的问题,但我想我会给你一些建议(轶事),因为我最近走了这条路。 – Ivan
这也是我的猜测,我注意到在手机和模拟器上的性能存在差异,我想我需要安装我的手机直接在他身上进行调试以查看我的自我:) –