在以前做的一个对产品的综合测试程序中,最近测到的一个低概率出现的问题。程序测试了产品各项功能,包括相机。拍照是通过一个定时器切换两路摄像头并拍照,然后在onPictrueTaken()方法中处理数据,之后再重新startPreview()。
花屏的问题重现不容易,有时出现了发现时已经过了一段时间,不能现场抓取log。这时可以在/data/anr/traces.txt中碰碰运气,它记录了整个系统中ANR及死锁发生时进程和线程的一些信息,或许可以找到蛛丝马迹。运气不错,可以看到是onPictureTaken()之后startPreview时的异常
----- pid 3203 at 2014-05-09 11:22:44 -----
Cmd line: com.lyt.brtest_func04
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4001f188 self=0xce70
| sysTid=3203 nice=0 sched=0/0 cgrp=default handle=-1345006528
at android.hardware.Camera.startPreview(Native Method)
at com.lyt.brtest_func04.Br_test_funcActivity.onPictureTaken(Br_test_funcActivity.java