1.前言
在9.0的系统产品rom开发中,在进行平板设备开发中,需要横屏显示,所以需要把屏幕方向旋转90,作为横屏显示,但是这样可能会引起一个问题
就是开机动画显示不全,就是虽然画面是横屏显示了 但是只能显示一部分显示不全,所以这就需要分析相关的横屏显示的问题了,然后找到
开机动画显示的相关流程,就可以解决这个问题了
2.横屏旋转开机动画显示不全的解决方案的核心类
frameworks\native\services\surfaceflinger\DisplayDevice.cpp
3.横屏旋转开机动画显示不全的解决方案的核心功能实现和分析
android显示系统的核心是surfaceflinger,它为所有的应用程序提供显示服务显示的翻转和旋转也是由surfaceflinger完成的,所以分析下surfaceflinger的旋转流程
surfaceflinger启动后首先进行初始化操作,设置surfaceflinger的相关属性并创建了DisplayDevice对象
所以重点看DisplayDevice.cpp的源码
// clang-format off
DisplayDevice::DisplayDevice(
const sp<SurfaceFlinger>& flinger,
DisplayType type,
int32_t hwcI