由于工作原因,最近又开始使用android系统,多年不用,android显示这块确实有不少改变,最近公司android系统显示模块出现故障,分配到我这里来定位,所以需要重新去学习这块。这次问题主要是客户使用过程中,出现屏幕卡顿和黑块,发了一些日志和图片,第一眼看上去没有什么思路,这和自己这块空白有很大关系,于是花了几天时间研究了一下android GUI和systrace这块,决定从基本东西入手,熟悉后再去解决问题,当然公司业务那边也帮我顶了一些压力,每天群里面客户都在催,在此表示感谢。不过这个问题基本从零开始解决,真的做不了这么快。之前也接触过不少平台的GUI系统,做的也不错,但是比起android这套确实不是一个级别,android 系统这套不仅功能强大,而且兼容性强。最让我感受深刻的是这次研究源码的过程非常的越快,整个过程像是欣赏一幅作品,android真的很棒。后面时间充足了我会把其他模块也研究一下。
这次问题从日志上看从SurfaceFlinger出表现出来的,所以我是从这块开始研究的,我并不是直接冲源码开始,主要参考网上一些优质的博客,在此表示感谢,后面会把连接粘上,我这篇文章不足的地方,大家可以调到这些地方查找。我大概列一下我的研究模块
-
SurfaceFlinger 层
-
Hardware 层
-
显示驱动DRM
-
输出驱动lvds