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

Android Splash Screen API配置后启动显示空白屏问题求助

问题排查及修复方案

  • 1. 替换为稳定版依赖
    你使用的1.0.0-alpha01属于早期测试版本,存在大量兼容性bug,先替换为官方稳定版依赖:
implementation "androidx.core:core-splashscreen:1.0.1"
  • 2. 修正启动主题父类配置
    兼容版Splash Screen API要求启动主题必须继承自Theme.SplashScreen系列,不能直接使用AppCompat主题,修改样式配置如下:
<style name="SplashTheme" parent="Theme.SplashScreen">
    <item name="windowSplashScreenBackground">@color/black</item>
    <item name="windowSplashScreenAnimatedIcon">@drawable/ic_search</item>
    <item name="postSplashScreenTheme">@style/Theme.AppTheme</item>
    <!-- 不需要ActionBar可添加以下两行 -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

你现有Manifest中给MainActivity绑定SplashTheme的配置符合要求,无需调整。

  • 3. 调整installSplashScreen调用顺序
    该方法必须在super.onCreate之前调用,修改MainActivity的代码顺序:
override fun onCreate(savedInstanceState: Bundle?) {
    // 优先调用installSplashScreen
    installSplashScreen()
    super.onCreate(savedInstanceState)
    // 再执行后续初始化、视图绑定逻辑
    toolbar = binding.viewToolbar.tbToolbar
    // ... 其余原有代码
}
  • 4. 校验启动图标尺寸
    启动图标需要符合官方规范:整体尺寸288x288dp,内层有效显示区域为192x192dp,外层预留48dp的透明边距,避免图标被裁剪导致无法显示、看起来呈现空白屏的问题。

  • 5. 确认测试场景
    Splash Screen API仅在应用冷启动(进程完全杀死后首次启动)、温启动(进程在后台未被回收但Activity已销毁)时显示,热启动(应用退到后台未被销毁、直接切回)不会触发启动页,测试时需要完全杀掉应用进程后再启动验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:15:02