我的博客原文链接
在实际开发中或许你有下面的经历:
尽管已经设置了硬件加速,通过TextureView.lockCanvas()或者通过SurfaceView.getHolder().lockCanvas()得到的Canvas通过打印Canvas.isHardwareAccelerated()会返回false。而TextureView.isHardwareAccelerated()或者SurfaceView.isHardwareAccelerated()是返回true的。
这是正确的,通过lockCanvas()得到的Canvas只能用软件绘制的。如果想通过硬件渲染,只能调用OpenGL接口实现。
具体可以参考:systemui/ImageWallpaper.java
Android硬件渲染之LockCanvas()
最新推荐文章于 2024-07-25 10:17:00 发布