应用程序中相机控制方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32362971 阅读:23 留言:0更新日期:2022-02-20 03:33
本申请提供一种应用程序中相机控制方法、装置、电子设备及存储介质,涉及一种计算机技术领域。该方法包括:前台应用程序响应用户打开相机和关闭相机的操作,向后台应用程序发送操作指令,后台应用程序执行所述操作指令,前台应用程序获取所述后台应用程序所占用的句柄数量,若所述后台应用程序占用的句柄数量大于或等于预设阈值时,所述前台应用程序向所述后台应用程序发送关闭指令。该方法中,通过启动一个额外的后台应用程序操作相机,关闭该后台应用程序来释放所占用的句柄数量,可以有效解决相机在打开和关闭过程中的句柄泄露问题,可以避免在相机频繁打开和关闭的过程中由于句柄泄露所导致的程序崩溃的问题。句柄泄露所导致的程序崩溃的问题。句柄泄露所导致的程序崩溃的问题。

【技术实现步骤摘要】
应用程序中相机控制方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种应用程序中相机控制方法、装置、电子设备及存储介质。

技术介绍

[0002]UVC相机是在USB视频捕获设备定义的协议标准下的一种相机,在人脸识别领域广泛应用。例如,在无人售卖机、进出口闸机等场景,当应用于该场景的应用程序感应到有人接近时,打开UVC相机,完成人脸识别后,关闭相机。在这些场景下,UVC相机可能会被频繁地打开和关闭,会导致应用程序的进程句柄数一直在增加,也就是句柄泄露,最终导致应用程序崩溃。
[0003]因此,亟需提供一种防止句柄泄露的方法,保证应用程序的正常运行。

技术实现思路

[0004]本申请的目的在于,针对上述现有技术中的不足,提供一种应用程序中相机控制方法、装置、电子设备及存储介质,以解决句柄泄露导致的应用程序崩溃问题。
[0005]为实现上述目的,本申请实施例采用的技术方案如下:
[0006]第一方面,本申请实施例提供了一种应用程序中相机控制方法,应用于电子设备,所述电子设备中包括:前台应用程序和后台应用程序,所述前台应用程序包括图形用户界面,所述后台应用程序运行于所述电子设备的后台;所述方法包括:所述前台应用程序响应用户打开相机和关闭相机的操作,向所述后台应用程序发送操作指令,所述操作指令用于指示打开相机和关闭相机;
[0007]所述后台应用程序根据所述操作指令,执行所述操作指令所指示的操作;
[0008]所述前台应用程序获取所述后台应用程序所占用的句柄数量;
[0009]若所述后台应用程序所占用的句柄数量大于或等于预设阈值,所述前台应用程序向所述后台应用程序发送关闭指令,所述关闭指令用于指示关闭所述后台应用程序。
[0010]可选的,所述前台应用程序响应用户打开相机和关闭相机的操作,向所述后台应用程序发送操作指令之前,还包括:
[0011]所述前台应用程序创建图像共享内存对象以及命令共享内存对象,所述图像共享内存对象用于标识目标图像共享内存,所述目标图像共享内存用于存储所述相机拍摄的图像,所述命令共享内存对象标识目标命令共享内存,所述目标命令共享内存用于存储所述前台应用程序发出的命令以及所述后台应用程序发出的响应信息;
[0012]所述前台应用程序创建图像互斥锁以及命令互斥锁,所述图像互斥锁用于锁定所述目标图像共享内存,所述命令互斥锁用于锁定所述目标命令共享内存;
[0013]所述前台应用程序将所述共享图像内存对象以及互斥锁对象所使用的字符串名称作为启动参数,启动所述后台应用程序。
[0014]可选的,所述前台应用程序响应用户打开相机和关闭相机的操作,向所述后台应
用程序发送操作指令,包括:
[0015]所述前台应用程序响应用户打开相机和关闭相机的操作,生成所述操作指令;
[0016]所述前台应用程序基于所述命令互斥锁,将所述操作指令保存至所述目标命令共享内存。
[0017]可选的,所述后台应用程序根据所述操作指令,执行所述操作指令所指示的操作,包括:
[0018]所述后台应用程序基于所述命令互斥锁,实时读取并执行所述目标命令共享内存中的操作指令,进行图像拍摄;
[0019]所述后台应用程序基于所述图像互斥锁,将拍摄到的图像保存至所述目标图像共享内存中,并由所述前台应用程序从所述目标图像共享内存中读取所述拍摄到的图像。
[0020]可选的,所述前台应用程序向所述后台应用程序发送关闭指令之后,还包括:
[0021]所述前台应用程序释放所述图像共享内存对象、所述命令共享内存对象、所述图像互斥锁以及所述命令互斥锁。
[0022]可选的,所述前台应用程序向所述后台应用程序发送关闭指令之后还包括:
[0023]所述前台应用程序重新创建所述图像共享内存对象、所述命令共享内存对象、所述图像互斥锁以及所述命令互斥锁,并启动所述后台应用程序。
[0024]可选的,所述前台应用程序向所述后台应用程序发送关闭指令之后,还包括:
[0025]所述前台应用程序判断所述后台应用程序所占用的句柄是否被释放;
[0026]若否,则所述前台应用程序在预设时长后调用操作系统的预设指令关闭所述后台应用程序。
[0027]第二方面,本申请实施例还提供了一种应用程序中相机控制装置,所述装置包括:
[0028]所述前台应用程序,用于响应打开相机和关闭相机的操作,向所述后台应用程序发送操作指令,所述操作指令用于指示打开相机和关闭相机;
[0029]所述后台应用程序,用于根据所述操作指令,执行所述操作指令所指示的操作;
[0030]所述前台应用程序,还用于获取所述后台应用程序所占用的句柄数量;以及,在所述后台应用程序所占用的句柄数量大于或等于预设阈值时,向所述后台应用程序发送关闭指令,所述关闭指令用于指示关闭所述后台应用程序。
[0031]可选的,所述前台应用程序,具体用于创建图像共享内存对象以及命令共享内存对象,所述图像共享内存对象用于标识目标图像共享内存,所述目标图像共享内存用于存储所述相机拍摄的图像,所述命令共享内存对象标识目标命令共享内存,所述目标命令共享内存用于存储所述前台应用程序发出的命令以及所述后台应用程序发出的响应信息;
[0032]所述前台应用程序创建图像互斥锁以及命令互斥锁,所述图像互斥锁用于锁定所述目标图像共享内存,所述命令互斥锁用于锁定所述目标命令共享内存;
[0033]所述前台应用程序将所述共享图像内存对象以及互斥锁对象所使用的字符串名称作为启动参数,启动所述后台应用程序。
[0034]可选的,所述前台应用程序,具体用于响应打开相机和关闭相机的操作,生成所述操作指令;
[0035]所述前台应用程序基于所述命令互斥锁,将所述操作指令保存至所述目标命令共享内存。
[0036]可选的,所述后台应用程序,具体用于基于所述命令互斥锁,实时读取并执行所述目标命令共享内存中的操作指令,进行图像拍摄;
[0037]所述后台应用程序基于所述图像互斥锁,将拍摄到的图像保存至所述目标图像共享内存中,并由所述前台应用程序从所述目标图像共享内存中读取所述拍摄到的图像。
[0038]可选的,所述前台应用程序,具体用于释放所述图像共享内存对象、所述命令共享内存对象、所述图像互斥锁以及所述命令互斥锁。
[0039]可选的,所述前台应用程序,具体用于重新创建所述图像共享内存对象、所述命令共享内存对象、所述图像互斥锁以及所述命令互斥锁,并启动所述后台应用程序。
[0040]可选的,所述前台应用程序,具体用于判断所述后台应用程序所占用的句柄是否被释放;
[0041]若否,则所述前台应用程序在预设时长后调用操作系统的预设指令关闭所述后台应用程序。
[0042]第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序中相机控制方法,其特征在于,应用于电子设备,所述电子设备中包括:前台应用程序和后台应用程序,所述前台应用程序包括图形用户界面,所述后台应用程序运行于所述电子设备的后台;所述方法包括:所述前台应用程序响应用户打开相机和关闭相机的操作,向所述后台应用程序发送操作指令,所述操作指令用于指示打开相机和关闭相机;所述后台应用程序根据所述操作指令,执行所述操作指令所指示的操作;所述前台应用程序获取所述后台应用程序所占用的句柄数量;若所述后台应用程序所占用的句柄数量大于或等于预设阈值,所述前台应用程序向所述后台应用程序发送关闭指令,所述关闭指令用于指示关闭所述后台应用程序。2.根据权利要求1所述的方法,其特征在于,所述前台应用程序响应打开相机和关闭相机的操作,向所述后台应用程序发送操作指令之前,还包括:所述前台应用程序创建图像共享内存对象以及命令共享内存对象,所述图像共享内存对象用于标识目标图像共享内存,所述目标图像共享内存用于存储所述相机拍摄的图像,所述命令共享内存对象标识目标命令共享内存,所述目标命令共享内存用于存储所述前台应用程序发出的命令以及所述后台应用程序发出的响应信息;所述前台应用程序创建图像互斥锁以及命令互斥锁,所述图像互斥锁用于锁定所述目标图像共享内存,所述命令互斥锁用于锁定所述目标命令共享内存;所述前台应用程序将所述图像共享内存对象以及互斥锁对象所使用的字符串名称作为启动参数,启动所述后台应用程序。3.根据权利要求2所述的方法,其特征在于,所述前台应用程序响应用户打开相机和关闭相机的操作,向所述后台应用程序发送操作指令,包括:所述前台应用程序响应用户打开相机和关闭相机的操作,生成所述操作指令;所述前台应用程序基于所述命令互斥锁,将所述操作指令保存至所述目标命令共享内存。4.根据权利要求2所述方法,其特征在于,所述后台应用程序根据所述操作指令,执行所述操作指令所指示的操作,包括:所述后台应用程序基于所述命令互斥锁,实时读取并执行所述目标命令共享内存中的操作指令,进行图像拍摄;所述后台应用程序基于所述图像互斥锁,将拍摄到的图像保存至所述目标图像...

【专利技术属性】
技术研发人员:刘天虹李冬刘风雷
申请(专利权)人:浙江水晶光电科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1