Android9.x SurfaceView源码分析
前言
本文是继Android 深入理解SurfaceView再次对SurfaceView进行源码分析。
看了下代码,上篇文章是基于Android7.x的,本篇基于Android9.x再次进行分析,
Android从7.0开始支持SurfaceView动画,并建议7.0之后使用SurfaceView替代TextureView,这里主要在Android9.0上分析SurfaceView如何进行动画的。
-
9.x源码做了较大的改动,由原先的updateWindow变为了updateSurface,这里有深刻的含义。
-
9.x开始引入SurfaceControl,该类在10.x上放开作为API,后面单独分析该类源码。
-
对layout或者layout.getSurfaceView()做缩放动画,有明显的黑影
这里能看到layout在缩放,而SurfaceView没有缩放,一直位于左上角。
Note: Starting in platform version Build.VERSION_CODES.N, SurfaceView’s window position is updated synchronously with other View rendering.
T