文档开发者中心
我的

释放摄像头资源时导致手机重启

如题;
具体情况是  : 前置摄像头切换到后置摄像头   然后释放资源,就会导致手机重启.必现
其他手机暂时没有出现这种情况;
释放资源的代码:
// 释放摄像有关的资源
private void closeCamera() {
if (camera != null) {
surfaceHolder.setKeepScreenOn(false);
surfaceHolder.removeCallback(this);
camera.setPreviewCallback(null);
camera.addCallbackBuffer(null);
camera.stopPreview();
camera.release();
camera = null;
}
}

每次切换摄像头都会调用这段代码.然后重新初始化摄像头.

这里好像是c的log

07-31 14:38:20.239: A/libc(610): invalid address or address of corrupt block 0xf0b79000 passed to dlfree
07-31 14:38:20.239: A/libc(610): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadbaad in tid 12602 (CAM_MctServ)
07-31 14:38:20.299: A/DEBUG(565): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-31 14:38:20.299: A/DEBUG(565): Build fingerprint: 'HUAWEI/VNS-AL00/HWVNS-Q:6.0/HUAWEIVNS-AL00/C00B220:user/release-keys'
07-31 14:38:20.299: A/DEBUG(565): Revision: '0'
07-31 14:38:20.299: A/DEBUG(565): ABI: 'arm'
07-31 14:38:20.299: A/DEBUG(565): pid: 610, tid: 12602, name: CAM_MctServ  >>> /system/bin/mm-qcamera-daemon <<<
07-31 14:38:20.299: A/DEBUG(565): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdeadbaad
07-31 14:38:20.321: A/DEBUG(565): Abort message: 'invalid address or address of corrupt block 0xf0b79000 passed to dlfree'
07-31 14:38:20.321: E/DEBUG(565): AM write failed: Broken pipe
07-31 14:38:20.322: A/DEBUG(565):     r0 00000000  r1 00000000  r2 00000000  r3 00000002
07-31 14:38:20.322: A/DEBUG(565):     r4 f0b79000  r5 deadbaad  r6 f7206eb8  r7 ab438000
07-31 14:38:20.322: A/DEBUG(565):     r8 f0b79008  r9 ab87f5c0  sl 00000001  fp ab882240
07-31 14:38:20.322: A/DEBUG(565):     ip f72015dc  sp f3679db8  lr f71d394f  pc f71d394e  cpsr 600f0030
07-31 14:38:20.339: A/DEBUG(565): backtrace:
07-31 14:38:20.339: A/DEBUG(565):     #00 pc 0003094e  /system/lib/libc.so (dlfree+1285)
07-31 14:38:20.339: A/DEBUG(565):     #01 pc 0000bac9  /system/vendor/lib/libmmcamera2_imglib_modules.so (module_afs_client_unmap_buffers+92)
07-31 14:38:20.340: A/DEBUG(565):     #02 pc 0000e54b  /system/vendor/lib/libmmcamera2_imglib_modules.so (module_afs_handle_streamoff+82)
07-31 14:38:20.340: A/DEBUG(565):     #03 pc 0000e7d7  /system/vendor/lib/libmmcamera2_imglib_modules.so (module_afs_port_event_func+506)
07-31 14:38:20.340: A/DEBUG(565):     #04 pc 0000b183  /system/vendor/lib/libmmcamera2_mct.so (mct_port_send_event_to_peer+274)
07-31 14:38:20.340: A/DEBUG(565):     #05 pc 0000b93d  /system/vendor/lib/libmmcamera2_mct.so (mct_list_traverse+26)
07-31 14:38:20.340: A/DEBUG(565):     #06 pc 000019db  /system/vendor/lib/libmmcamera_ppbase_module.so (base_port_fwd_event_to_intlinks+50)
07-31 14:38:20.340: A/DEBUG(565):     #07 pc 00001c6f  /system/vendor/lib/libmmcamera_ppbase_module.so
07-31 14:38:20.340: A/DEBUG(565):     #08 pc 000066d7  /system/vendor/lib/libmmcamera2_pproc_modules.so
07-31 14:38:20.340: A/DEBUG(565):     #09 pc 0000b183  /system/vendor/lib/libmmcamera2_mct.so (mct_port_send_event_to_peer+274)
07-31 14:38:20.340: A/DEBUG(565):     #10 pc 0001f12f  /system/vendor/lib/libmmcamera2_isp_modules.so (isp_util_forward_event+522)
07-31 14:38:20.340: A/DEBUG(565):     #11 pc 00009759  /system/vendor/lib/libmmcamera2_isp_modules.so (isp_handler_control_streamoff+268)
07-31 14:38:20.340: A/DEBUG(565):     #12 pc 00007c8f  /system/vendor/lib/libmmcamera2_isp_modules.so
07-31 14:38:20.340: A/DEBUG(565):     #13 pc 000060db  /system/vendor/lib/libmmcamera2_iface_modules.so
07-31 14:38:20.340: A/DEBUG(565):     #14 pc 0000b93d  /system/vendor/lib/libmmcamera2_mct.so (mct_list_traverse+26)
07-31 14:38:20.340: A/DEBUG(565):     #15 pc 000067eb  /system/vendor/lib/libmmcamera2_iface_modules.so
07-31 14:38:20.340: A/DEBUG(565):     #16 pc 0000b183  /system/vendor/lib/libmmcamera2_mct.so (mct_port_send_event_to_peer+274)
07-31 14:38:20.340: A/DEBUG(565):     #17 pc 0001834f  /system/vendor/lib/libmmcamera2_sensor_modules.so
07-31 14:38:20.340: A/DEBUG(565):     #18 pc 0000b93d  /system/vendor/lib/libmmcamera2_mct.so (mct_list_traverse+26)
07-31 14:38:20.340: A/DEBUG(565):     #19 pc 000119b3  /system/vendor/lib/libmmcamera2_sensor_modules.so
07-31 14:38:20.340: A/DEBUG(565):     #20 pc 000081d3  /system/vendor/lib/libmmcamera2_mct.so
07-31 14:38:20.340: A/DEBUG(565):     #21 pc 0000ede1  /system/vendor/lib/libmmcamera2_mct.so
07-31 14:38:20.340: A/DEBUG(565):     #22 pc 00010a61  /system/vendor/lib/libmmcamera2_mct.so
07-31 14:38:20.340: A/DEBUG(565):     #23 pc 000112bb  /system/vendor/lib/libmmcamera2_mct.so
07-31 14:38:20.340: A/DEBUG(565):     #24 pc 000136ed  /system/vendor/lib/libmmcamera2_mct.so
07-31 14:38:20.341: A/DEBUG(565):     #25 pc 0004188b  /system/lib/libc.so (_ZL15__pthread_startPv+30)
07-31 14:38:20.341: A/DEBUG(565):     #26 pc 000192d5  /system/lib/libc.so (__start_thread+6)
07-31 14:38:20.598: E/Thermal-daemon(584): [Thermal_Hw] temperature_valid, battery : temperature is invalid, invalid temperatrue is 34
07-31 14:38:20.598: E/Thermal-daemon(584): [Thermal_Hw] temperature_filter: get invalid temperature, use old temp
07-31 14:38:20.601: E/Thermal-daemon(584): [charger_ic] temp_new :43  temp_old :42
07-31 14:38:20.602: E/Thermal-daemon(584): Report temperature: [charger_ic] temp :43  report_threshold:1
07-31 14:38:20.673: A/DEBUG(565): Tombstone written to: /data/tombstones/tombstone_01
07-31 14:38:20.715: E/logserver(613): extract_appname, open file failed.
07-31 14:38:20.716: E/logserver(613): set_output_postfix: NULL pointer.
07-31 14:38:20.716: E/logserver(613): special_handle: NULL pointer.
07-31 14:38:20.766: E/DeviceInfo(5347): file is not exist: /proc/ddr_info
07-31 14:38:20.766: E/DeviceInfo(5347): can't get ddr, default value: NULL
: E/(): Device disconnected

跪求大神解答!谢谢!

点赞
收藏
回复
2
分享
举报
浏览2885 发布于2017-07-31 07:05未知归属地
全部评论
最多点赞
最新发布
最早发布
手机类问题:请拨打客服电话4008308300
2楼回复于2017-08-01 00:54 未知归属地
没人回吗?
1楼回复于2017-07-31 08:28 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。