Android 的新 Splashscreen API

Android 上展示 Splash Screen 是一个惯例,很长时间以来,都是开发者自行实现一个 activity 来用作此用途。

后来,Android 系统开始规范化这个行为,但并没有特别强势干预,直到 Android 12,为了用比较轻量级的代价来实现常规需求,同时又能尽可能保证启动速度以及主界面的显示速度,系统采用了在主界面的正式内容展示前展示一个特质的内容视图的方式来实现这一特性。并且又在支持库中用兼容 API 的方式实现了用统一的 API 接口在新旧系统上实现相同效果。

但即便如此,对于开发者(例如俺)也还是不够。这种干掉独立 activity 的做法,导致改造之前使用 splashscreen activity 承载着展示开屏广告工作的 app 存在困难。做过一些尝试,但在实践中发现,在某些系统上(例如鸿蒙 3.0.0 的 Mate 40 Pro 上)仍然会有瑕疵。精力有限,未能做更多的研究,留待后来继续。

把几个相关知识页面列举于此,以备后用:

  • https://zhuanlan.zhihu.com/p/373475386
  • https://juejin.cn/post/6962706834889113614
  • https://github.com/ellisonchan/SplashScreen
  • https://developer.android.com/reference/android/window/SplashScreen

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注