2016-06-17 6 views
0

My Application-Klasse genannt einfach dieseEs ist sehr lange für MainActivity nehmen bekommen

public class DogApplication extends Application { 
    private static DogApplication context; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     context = this; 
    } 

    public static DogApplication getContext(){ 
     return context; 
    } 
} 

ist dennoch es etwa 10 Sekunden dauern, bevor meine MainActivity aufgerufen wird. Wie soll ich wissen? Ich protokolliere den Zeitstempel in meiner Anwendung # onCreate, MainActivity # onCreate Start und Ende. Im Grunde gleich nach der offenen Klammer logge ich den Zeitstempel ein und zeichne mich dann direkt vor der schließenden Klammer wieder ein. Hier ist das Ergebnis meiner Login:

DogApplication: Beginn der DogApplication onCreate ist 1466143820699 MainActivity: Beginn der MainActivity onCreate ist 1466143820870 MainActivity: TIME onCreate zu durchqueren ist 3260 ms

auf dieser Basis Die Daten MainActivity sollten nicht so lange brauchen, um angezeigt zu werden. Und dennoch: Wenn ich meine App installiere, erscheint etwa 10 Sekunden lang ein weißer Bildschirm, bevor eine Ansicht oder Inhalte sichtbar sind. Ich habe keinen Begrüßungsbildschirm. Was könnte das verursachen? Ich unterstütze API 11 und höher.

+1

Sie müssen MainActivity hinzufügen, da es Zeit nicht die Application-Klasse dauert. –

+0

Veröffentlichen Sie MainActivity onCreate, das ist die zeitaufwendige Methode – earthw0rmjim

+0

Führen Sie Ihre App auf dem Gerät oder auf dem Emulator? Ist es ein Apk oder laden Sie es von einer IDE, wenn ja, was? Mehr Details bitte. – Flummox

Antwort

0

Dieses Problem kam in neuen Android-Studio-Version aufgrund der Instant-Run-Funktion, wenn Sie Instant-Run-Feature Startverzögerung zum ersten Mal deaktivieren wird weg sein. Um sofortigen Lauf zu deaktivieren, siehe Link Instant run in Android Studio 2.0 (how to turn off)