当我在我的设备上打开我的应用程序进行调试时,它显示白色空白页大约1-2秒,然后显示我的启动画面。我在Android开发者网站上读到了这个问题,说它可能是由于应用程序子类中的应用程序初始化导致的原因。
我的应用程序扩展类代码在这里:
public class MyApplication extends Application{
private static ApplicationComponent mApplicationComponent;
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
if (mApplicationComponent == null){
mApplicationComponent = DaggerApplicationComponent.builder()
.applicationModule(new ApplicationModule(this)).build();
}
}
public static ApplicationComponent providesApplicationComponent(){return Preconditions.checkNotNull(mApplicationComponent);}
}
我的启动屏幕代码: -
public class SplashActivity extends AppCompatActivity {
@BindView(R.id.splash_screen)
ImageView mSplashScreen;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
ButterKnife.bind(this);
Picasso.with(this).load(R.drawable.bg_splash_screen).fit().centerCrop().into(mSplashScreen);
SharedPreferences mSharedPreferences = getSharedPreferences(Constants.PREFERENCE,MODE_PRIVATE);
if (mSharedPreferences.getBoolean(Constants.LOGGEDIN,false)){
Intent homeIntent = new Intent(this, HomeActivity.class);
openPage(homeIntent);
} else {
Intent signupIntent = new Intent(this, SignUpActivity.class);
openPage(signupIntent);
}
}
private void openPage(final Intent intent){
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(intent);
finish();
}
},1200);
}
}
我在我的应用程序类中只进行了这两次初始化。这是问题吗?如果或如果不是如何解决这个问题。
答案 0 :(得分:0)
当我遇到同样的问题时,经过大量研究后,我在styles.xml
<item name="android:windowDisablePreview">true</item>
禁用预览会删除即时应用程序启动,但由于您有启动画面,因此这应该有效。
希望它也能帮到你。
答案 1 :(得分:0)
请构建发布模式或禁用即时运行
我建议您停用Instant Run
禁用即时运行: 打开“设置”或“首选项”对话框。 转到构建,执行,部署&gt;即时运行。 清除“启用即时运行”旁边的复选框。