私はfirebaseで私の読み取り専用のデータを持っています、それは約50KBです。 アプリの起動時に完全なデータが必要です。そのために私は私ののonCreateメソッドアプリケーションの起動時にFirebaseがデータをロードするのに3秒以上かかる
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
Log.i("FIREBASE", "Before Firebase Call");
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.i("FIREBASE", "Call Completed");
// do my work i.e build my UI
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(context, "Please Check your Internet connection", Toast.LENGTH_LONG);
}
});
に次のコードを書いた今、私の問題は、Firebaseがデータを取得4秒以上を取っていますさ。上記のコードでは、両方のログステートメントの間に4秒の間隔があります。 'Firebase Call Before' & 'Call Completed'
私は実際のデバイスであっても、少なくとも3秒かかることさえあります。 ここに何か不足していますか?
実際、どのような種類のアクティビティでもデータを表示する前にデータを読み込むのは問題ありません。後であらゆる種類のアクティビティを開き、データを表示するのは瞬時になります。しかし、私はローディング画面に関する質問があります。データの読み込みを開始すると、特定のアクティビティになったときに、同じアクティビティに再び出たときに同じスプラッシュ画面が表示されないようにするために使用できるロジックの種類があります。基本的に、データが既にキャッシュにロードされていることを確認する方法はありますか? – cool