相机的 SurfaceView 与 TextureView 对比?

Posted

技术标签:

【中文标题】相机的 SurfaceView 与 TextureView 对比?【英文标题】:SurfaceView vs TextureView for Camera? 【发布时间】:2015-01-29 06:32:22 【问题描述】:

我想在我的应用程序中加入相机功能,这将允许视图本身的布局转换、更改其大小、预览大小并有效地处理方向更改。我应该使用TextureView 还是SurfaceView

决策决定..

【问题讨论】:

您可以在 Grafika (github.com/google/grafika) 中找到各种示例,其中 SurfaceView 和 TextureView 用于相机预览和视频播放。一般来说,SurfaceView 在显示图像方面效率更高,但 TextureView 更灵活。例如,比较 PlayMovieActivity 与 PlayMovieSurfaceActivity 中视频播放的纵横比是如何设置的——前者使用变换矩阵,后者需要自定义帧布局。 【参考方案1】:

根据您的上下文,我建议使用TextureView,因为SurfaceView 无法实现转换、动画和缩放等功能。但请记住,TextureView 会比SurfaceView 消耗更多的内存。

【讨论】:

以上是关于相机的 SurfaceView 与 TextureView 对比?的主要内容,如果未能解决你的问题,请参考以下文章

使SurfaceView大于屏幕(将相机预览适配到大于显示的SurfaceView)

使SurfaceView大于屏幕(将相机预览适配到大于显示的SurfaceView)

如何在 SurfaceView 上显示相机预览?

android相机surfaceview方向

如何将 OpenGL 对象添加到 SurfaceView 相机中?

相机视图 SurfaceView 仅以横向存储