在以前做的一个对产品的综合测试程序中,最近测到的一个低概率出现的问题。程序测试了产品各项功能,包括相机。拍照是通过一个定时器切换两路摄像头并拍照,然后在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:312)
at android.hardware.Camera$EventHandler.handleMessage(Camera.java:529)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.

在进行相机功能测试时,遇到一个低概率的花屏现象。程序通过定时器切换两个摄像头并拍照,在onPictureTaken()处理数据后重新startPreview()。由于问题重现困难,从/data/anr/traces.txt文件中寻找ANR和死锁线索,发现在onPictureTaken()后startPreview时存在异常。
最低0.47元/天 解锁文章
4058

被折叠的 条评论
为什么被折叠?



