【发布时间】:2015-01-28 01:10:46
【问题描述】:
我有一个使用 ViewPager 和 3 个片段的 3 选项卡设置。其中一个片段实现了 QR 码扫描器 (ZBarScanner),它使用设备摄像头的实时视图填充整个片段。
我发现此相机视图会导致用户界面严重滞后。在标签之间滑动的动画要慢得多,并且应用程序的 CPU 使用率大幅增加。运行 traceview 显示扫描程序库的“onPreviewFrame”方法占用了大部分处理器时间。
我尝试过使用 offscreenPageLimit - 我发现需要将其设置为 2 以保持相机视图处于活动状态,否则由于反复启动和关闭相机视图而在滑动时会出现令人难以置信的严重延迟。
我可以做些什么来减少这个相机预览在我的应用程序中造成的延迟?
如果有帮助,我可以发布代码,但这一切都相当简单。
【问题讨论】:
-
我可以做些什么来减少这个相机预览在我的应用程序中造成的延迟?你可以购买更强大的设备......这也是一个有点奇怪的用户界面。 ..刷到二维码扫描仪?而是调用扫描仪 Intent?
-
@Selvin 好点。但是,我正在使用我的 Nexus 5,它相当强大,并且在我运行的任何应用程序中都没有给我造成任何问题。所以这让我相信我可以优化处理我的应用程序的方式
-
@Selvin 关于您的编辑:我希望 QR 扫描是独立的,以获得无缝的用户体验。这将是应用程序试图实现的一个组成部分
-
然后当片段正在交换时(或视图/片段不可见)在
onPreviewFrame中跳过处理(fx 设置了一些标志,我不知道,ViewPager.OnPageChangeListener.onPageScrollStateChanged看起来很有希望)跨度>
标签: android android-fragments camera zbar