デバイスでデバッグ用にアプリケーションを開くと、約1〜2秒間空白のページが表示され、スプラッシュ画面が表示されます。私はこの問題について、アンドロイドのデベロッパーのウェブサイトで、アプリケーションのサブクラスでのアプリの初期化が原因である可能性があると述べています。アクティビティの起動時に白い空白のウィンドウが表示される
私のアプリケーションの拡張クラスコードはここにある:
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);
}
}
私は自分のアプリケーションクラスでのみ、この2つの初期化をやっています。これは問題ですか?もしそうであれば、この問題を解決する方法。
デバッグ用で、初めての場合のみですか? – X3Btel
スプラッシュアクティビティの投稿コード – Rahul
このリンクはお役に立ちましたか?http://stackoverflow.com/questions/20546703/how-to-fix-white-screen-on-app-start-up – Rahul