您好, 我正在Android上为我的机器人项目进行图像处理。在我的项目中,我有3个服务:CameraService,VisionService,TakePictureService。
问题是系统连续执行GC_FOR_ALLOC以释放先前的帧数据并分配新帧。当我的应用程序运行一段时间后,我的设备将重新启动。
在重新启动之前,logcat显示许多没有任何其他内容的GC_FOR_ALLOC,然后是一些FAILED_BINDER_TRANSTION并重启。
我想问一下是否有任何解决方案可以解决这个问题。我的机器人需要执行不间断的计算机视觉任务。有许多服务需要图像数据,我只能打开一次Camera,所以我需要广播byte []数据帧。
你有什么建议吗?
非常感谢
答案 0 :(得分:0)
而不是广播,你可以使用AIDL接口,一旦有来自摄像头的数据,你就可以从cameraService调用VisionService的接口,因为你需要传递大量数据,所以广播不适合这样的工作