Affectiva SDK最佳做法

时间:2017-07-04 21:39:47

标签: affdex-sdk

是否有一些类似Linux平台开发指南的文档?

例如,在玩SDK之后我脑子里想到的问题: 1. CameraDetector(或任何其他检测器)是否应该在与主GUI线程不同的线程中使用?它是以某种方式阻塞还是它自己产生了另一个线程? 2.执行侦听器通知时 - 它是否与创建探测器的线程相同? 3.启动和停止探测器是否成本高昂?是应该在应用程序启动和关闭时执行一次还是在用户执行某些操作时按需执行?我应该使用检测器?

其他探测器的行为方式是否相同? 是否还有其他使用SDK的最佳做法?

1 个答案:

答案 0 :(得分:1)

CameraDetector::start()创建一个后台线程,连接到摄像头并开始处理帧。 CameraDetector::stop()表示后台线程与摄像机断开连接,停止处理帧并关闭。

因此,调用start()stop()会产生一些开销,但这是否会影响主线程的性能取决于您的评估。我建议在主线程上做一个初始方法,然后看看。

回调是在后台线程上进行的。

关于(a)在客户端启动时启动一次并在客户端关闭时停止与(b)在需要执行检测工作时根据需要启动和停止的替代方案,实际上没有一种最佳实践。如上所述,在活动会话期间(即start()之后和stop()之前),还有其他资源正在使用中,因此这可能会使事情偏向(b)如果会话很少发生在更大的客户端应用程序上下文。

此外,在CameraDetector的特定情况下,相机本身可能是其他应用程序也有兴趣访问的硬件资源,因此最小化其使用对于其他应用程序来说会更友好。