android录屏软件冲突,关于Android同时录制多个录像的问题
最近碰到一個(gè)一點(diǎn)頭緒都沒有的BUG,在MTK6737M方案上,同時(shí)進(jìn)行廣角攝像頭和OTG攝像頭錄像導(dǎo)致的應(yīng)用crash,而且出現(xiàn)概率也非常沒有規(guī)律,日志只有非常少的一點(diǎn)NativeCrash日志:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-11 16:25:56.593442? 5053? 5053 I AEE/AED : Build fingerprint: 'R621/full_bd6737t_35g_c_m0/bd6737t_35g_c_m0:6.0/MRA58K/1486716795:user/test-keys'
02-11 16:25:56.593543? 5053? 5053 I AEE/AED : Revision: '0'
02-11 16:25:56.593582? 5053? 5053 I AEE/AED : ABI: 'arm'
02-11 16:25:56.593720? 5053? 5053 I AEE/AED : pid: 4056, tid: 4945, name: pool-10-thread-? >>> com.broadsense.newpine.recorder <<<
02-11 16:25:56.593796? 5053? 5053 I AEE/AED : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x9cc40008
02-11 16:25:56.625478? 5053? 5053 I AEE/AED :? ? r0 9d94000c? r1 9cc40008? r2 00070800? r3 00000004
02-11 16:25:56.625562? 5053? 5053 I AEE/AED :? ? r4 00000000? r5 9cc40008? r6 b472932c? r7 b8b4e950
02-11 16:25:56.625680? 5053? 5053 I AEE/AED :? ? r8 9d940000? r9 00070800? sl b7889800? fp 00000000
02-11 16:25:56.625725? 5053? 5053 I AEE/AED :? ? ip 00000000? sp 9a23a390? lr b455036b? pc b6cffb9c? cpsr 200f0010
02-11 16:25:56.645324? 5053? 5053 I AEE/AED :
02-11 16:25:56.645324? 5053? 5053 I AEE/AED : backtrace:
02-11 16:25:56.645444? 5053? 5053 I AEE/AED :? ? #00 pc 00016b9c? /system/lib/libc.so (__memcpy_base_aligned+28)
02-11 16:25:56.645515? 5053? 5053 I AEE/AED :? ? #01 pc 00275367? /system/lib/libart.so (_ZN3art3JNI18SetByteArrayRegionEP7_JNIEnvP11_jbyteArrayiiPKa+570)
02-11 16:25:56.645583? 5053? 5053 I AEE/AED :? ? #02 pc 02833771? /system/framework/arm/boot.oat (offset 0x2417000)
02-11 16:25:57.526802? 5053? 5053 I AEE/AED :
02-11 16:25:57.526802? 5053? 5053 I AEE/AED : Tombstone written to: /data/tombstones/tombstone_03
02-11 16:31:03.313657? 5072? 5625 F libc? ? : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x9a024008 in tid 5625 (pool-10-thread-)
02-11 16:31:03.393642? 5733? 5733 I AEE/AED : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
后面發(fā)現(xiàn),該問題只有在加上OTG錄像才會(huì)出現(xiàn),使用二分法查找代碼發(fā)現(xiàn)是由于OTG攝像頭的回調(diào)幀數(shù)據(jù)使用的ByteBuffer,我們需要轉(zhuǎn)換成ByteArray使用,然后轉(zhuǎn)換過程是在另一個(gè)線程中導(dǎo)致底層出現(xiàn)內(nèi)存拷貝出錯(cuò),具體原因可能是由于ByteBuffer屬于線程不安全的,有概率出現(xiàn)該問題,只要把轉(zhuǎn)換過程換到ByteBuffer線程就沒有出現(xiàn)過該異常崩潰現(xiàn)象了。
具體原因可能需要看看ByteBuffer的源碼,先記錄下來,等以后可以看看。
總結(jié)
以上是生活随笔為你收集整理的android录屏软件冲突,关于Android同时录制多个录像的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html滚动字幕如何向下移动,按向下键的
- 下一篇: linux+kill+进程和线程,在LI