【技术实现步骤摘要】
拍摄模式切换方法、装置、电子设备及可读存储介质
[0001]本申请涉及终端
,尤其涉及一种拍摄模式切换方法
、
装置
、
电子设备及可读存储介质
。
技术介绍
[0002]手机等电子设备的相机通常包括前摄
、
后摄等多种拍摄模式,用户可以开启相机后根据拍摄需求切换不同的拍摄模式
。
在每种拍摄模式下,手机都会创建对应的相机线程
。
相机由一种拍摄模式切换为另一种拍摄模式,手机则会将切换前的拍摄模式对应的已有相机线程释放,并为切换后的拍摄模式创建一个对应的新相机线程
。
释放已有相机线程和创建新相机线程并行操作
。
[0003]各相机线程创建时,都会创建至少两个节点,那么,在释放相机线程时也需要将创建的这至少两个节点先后释放
。
例如,相机线程创建的节点包括设备调用句柄和入口函数集合
。
[0004]那么,已有相机线程的至少两个节点的释放操作,和新相机线程的至少两个节点的创建操作,可能出现由于新相机线程的节点被创建后在已有相机线程的节点释放操作中被释放等类似逻辑,导致已有相机线程创建异常,进而出现切换拍摄模式后相机闪退等异常情况
。
[0005]可见,现有的相机应用内的线程切换方案可能导致相机闪退等异常情况
。
技术实现思路
[0006]本申请实施例提供一种拍摄模式切换方法
、
装置
、
电子 ...
【技术保护点】
【技术特征摘要】
1.
一种拍摄模式切换方法,其特征在于,应用于电子设备,所述方法包括:接收第一操作,所述第一操作用于触发所述电子设备在第一拍摄模式下拍摄图像;响应于所述第一操作,创建所述第一拍摄模式对应的第一任务线程;接收第二操作,所述第二操作用于触发所述电子设备由所述第一拍摄模式切换为第二拍摄模式,在所述第二拍摄模式下拍摄图像;响应于所述第二操作,为所述第一任务线程添加第一标记,释放所述第一任务线程,创建所述第二拍摄模式对应的第二任务线程;其中,所述第一标记用于指示所述第一任务线程的全局变量对应的内存不可用;基于所述第一标记,在创建所述第二任务线程的过程中为所述第二任务线程的全局变量分配的内存与所述第一任务线程的全局变量对应的内存不同
。2.
根据权利要求1所述的拍摄模式切换方法,其特征在于,所述第一拍摄模式和所述第二拍摄模式均为单景拍摄模式
。3.
根据权利要求1所述的拍摄模式切换方法,其特征在于,所述第一拍摄模式为单景拍摄模式,所述第二拍摄模式多景拍摄模式;所述方法还包括:响应于所述第二操作,创建所述第二拍摄模式对应的第三任务线程;响应于所述第二操作,基于所述第一标记,在创建所述第三任务线程过程中为所述第三任务线程的全局变量分配的内存与所述第一任务线程的全局变量对应的内存不同
。4.
根据权利要求1所述的拍摄模式切换方法,其特征在于,所述第一拍摄模式为多景拍摄模式,所述第二拍摄模式为单景拍摄模式;所述方法还包括:响应于所述第一操作,创建所述第一拍摄模式对应的第四任务线程;响应于所述第二操作,为所述第四任务线程添加所述第一标记,释放所述第四任务线程;其中,基于所述第一标记,在创建所述第二任务线程过程中为所述第二任务线程的全局变量分配的内存与所述第四任务线程的全局变量对应的内存不同
。5.
根据权利要求1至4中任一项所述的拍摄模式切换方法,其特征在于,所述第一任务线程包括第一局部变量和第一全局变量,所述第二任务线程包括第二局部变量和第二全局变量;所述创建所述第一拍摄模式对应的第一任务线程的步骤,包括:创建所述第一局部变量,创建所述第一全局变量,通过地址指针将所述第一局部变量对应的内存和所述第一全局变量对应的内存相互关联;所述释放所述第一任务线程的步骤,包括:释放所述第一局部变量,释放所述第一全局变量,取消所述第一局部变量对应的内存和所述第二局部变量对应的内存之间的关联;所述创建所述第二拍摄模式对应的第二任务线程的步骤,包括:创建所述第二局部变量,并创建所述第二全局变量,通过地址指针将所述第二局部变量对应的内存与所述第二全局变量对应的内存关联
。6.
根据权利要求5所述的拍摄模式切换方法,其特征在于,所述响应于所述第二操作,为所述第一任务线程添加第一标记,释放所述第一任务线程,创建所述第二拍摄模式对应的第二任务线程,包括:响应于所述第二操作,为所述第一全局变量添加所述第一标记,释放所述第一局部变
量,释放所述第一全局变量;创建所述第二局部变量,查询是否存在第三全局变量;其中,所述第三全局变量为对应内存通过地址指针与所述第二局部变量对应的内存...
【专利技术属性】
技术研发人员:梁友,谷联强,刘帆,何肖钢,
申请(专利权)人:荣耀终端有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。