我的布局看起来与此类似:
如图所示,我使用SurfaceView
来接收和绘制相机预览数据。所述视图由ListView
覆盖,其中包含几个子项。
我现在面临的主要问题是我从ListView
获得的滚动性能不佳。我完全不知道为什么会发生这种情况,特别是当相机预览看起来根本没有结果时。
那就是说,我已经通过分离相机预览做了一些实验(是的,它是Fragment
),并且ListView的性能得到了显着提升。所以这可能是造成这一切的相机预览。但作为我活动的重要组成部分,完全删除它不是一种选择。
那么,有什么方法可以让我的ListView
卷轴更好吗?我也愿意为您提供任何替代解决方案。
提前致谢!
答案 0 :(得分:0)
我找到了解决此问题的可能方案。通常,surfaceView由gpu处理。至少它是硬件加速。在较新的设备上,ListView也是硬件加速的。如果surfaceView的处理很重,它会消耗大量的处理能力。通过使用listView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
转换硬件加速,您可以获得由cpu处理的列表视图。这样你就无法获得listview的最佳性能,但是你得到了一个不错的结果,它不依赖于surfaceView的负载。