You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android原生尺寸1920x1200但GLSurface为1440x900配置问题咨询

问题排查方向

  • 首先确认窗口缩放问题:你提供的ViewRootImpl日志显示,在Relayout阶段就已经将Activity窗口尺寸调整为1440x900,说明问题出在窗口布局层级,并非GLSurface渲染本身的问题,优先排查窗口相关配置。
  • 检查targetSdkVersion配置:如果App的targetSdkVersion低于26,Android 8.0及以上系统会默认开启屏幕兼容模式,自动缩放App渲染尺寸适配旧版规则,1440x900刚好是1920x1200的0.75倍缩放,符合兼容模式的典型缩放比例。
  • 检查系统显示配置:你提供的日志显示物理屏幕分辨率为1200x1920(竖屏),如果系统设置里的显示大小/字体大小调整为非默认值,会触发全局DPI缩放,刚好对应1.33的DPI缩放等级下,App可用渲染区域被缩放为1440x900。
  • 检查Activity的Window配置:排查OFActivity的WindowManager.LayoutParams有没有手动设置固定宽高、缩放比例的逻辑,有没有配置windowLayoutInDisplayCutoutMode适配挖孔屏,部分未适配挖孔屏的App会被系统自动缩小窗口避开挖孔区域。
  • 检查清单配置补充项:除已有的supports-screens配置外,需要在application节点添加android:resizeableActivity="true",如果targetSdkVersion>=31还要添加android:enableOnBackInvokedCallback="true",避免高版本系统的窗口适配异常。
  • 检查GLSurface相关配置:排查GLSurface初始化代码有没有调用getHolder().setFixedSize()手动固定渲染尺寸,部分渲染框架会默认限制最大渲染分辨率降低性能消耗,1440x900是常见的性能模式默认渲染分辨率。

你提供的相关日志参考:
CurrentMode:{id=1, width=1200, height=1920, fps=60.000004}
refreshRate: [60.000004] mode PhysicalWidth:[1200] mode
PhysicalHeight:[1920]

ViewRootImpl@24dd063[OFActivity]: Relayout returned:
old=(0,0,1920,1200) new=(0,0,1440,900) req=(0,0)8 dur=65 res=0x1
s={false 0} ch=false fn=-1 D/OF: Create surface

你已配置的清单参数参考:

<supports-screens android:resizeable="true"
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true" />

内容的提问来源于stack exchange,提问作者Danoli3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:39:01