android - 为什么splashactivity在mainactivity启动时闪烁
问题描述
这是我现在的项目情况。
- MainActivity 是 LAUNCHER
- SplashActivity 调用 MainActivity onCreate()
仔细一想,好像没有问题。但应用程序启动后,屏幕在通话MainActivity
前短暂可见。SplashActivity
令人惊讶的是,我没有在其他设备上看到它,只有 Galaxy S8。
当然,我知道这不是一个通用的结构。但我无法理解,因为我一直在正常工作。白色是冷启动风格和splashActivity。红色是 mainActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// some getIntent code
startActivityForResult(new Intent(this, SplashActivity.class), RESULTCODE_);
setInitLayout();
}
显现
<activity android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/SplashTheme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SplashActivity"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:screenOrientation="portrait"
android:theme="@style/SplashTheme" >
</activity>
minSdkVersion 21
targetSdkVersion 28
解决方案
如果您将 style withandroid:windowBackground
用于启动活动,请不要调用setContentView()
. 就这样!
推荐阅读
- keycloak - keycloak - 如何通过 keycloak 端点更新用户帐户电子邮件?
- javascript - 不同断点大小的不同事件
- express - 如何修复 Express 中的 this page not found 错误?
- sql - 停止更新语句而不损坏我的数据库
- apache - GCP 负载均衡器:502 服务器错误,“failed_to_connect_to_backend”超过“HTTP2”
- junit5 - Junit测试期间如何访问内存数据库中的H2
- java - 如何使用广度优先搜索或深度优先搜索到达有向图的所有部分?
- logic - 解释可满足性,基于鸽子洞的基数约束编码
- c++ - 0 除以 0 在 g++ 10.2 中得到 1
- python - 执行线性回归时出现 Theano 错误