I develop Android apk with Android Studio and my application is mainly composed of a SurfaceView with SYSTEM_UI_FLAG_FULLSCREEN visibility parameter.
On the surfaceChanged()
event I read and save the width and height of this surface.
What I don't understand is that, on a RK3288 based board, using the same HDMI output screen resolution of 1280x720,
I have two different widths and heights depending the Android ROM version.
With Android 4.4 -> I read the same Surface width
and height
as the actual screen resolution (1280x720)
With Android 5.1 -> I read width = 1920
, height = 1080
, which doesn't respect the 1280x720 physical screen resolution.
In both cases what I draw using the width and height falls on the corresponding screen surface. My problem is that I use a BitMap for a 360° panorama display and FPS performance is completely bad in Android 5.1 while it is perfect in Android 4.4. (as the number of pixels to "move" is bigger).
In summary: why does a SurfaceView configured with the SYSTEM_UI_FLAG_FULLSCREEN parameter not have the same resolution (draw surface) as the physical output HDMI resolution? Which parameters can affect this?
(PS: HDMI output mode is confirmed by the TV to be in 720p in both situations).
Many thanks ...