2016-04-15 2 views
19

installiert I eingeführt in Android Instant-Run erstmaliger nimmt zu viel Zeit nach starten App

I Problem bin immer installiert haben, während meine app ersten Mal ausgeführt wird. Es erscheint mit leerem Bildschirm für 5 bis 10 Sekunden, dann nach dem Start der Aktivität.

enter image description here

Es braucht Zeit, erstmals für jede Anwendung nur laufen, aber warum passiert es, dass ich nicht weiß.

Logcat: W/System: Classloader referenziert unbekannter Weg: /data/app/com.package.name/lib/arm

+0

Wenn Ihr Zielgerät oder Emulator Android 6.0 oder höher ist, ist dies das erste Mal. Alle nachfolgenden Läufe werden laut Dokumentation schneller sein. Aber ich habe in meiner Implementierung keinen leeren Bildschirm gesehen. Machst du schwere Operationen in der Oncreate-Methode? – drulabs

+0

@drulabs nein, es gibt keine schwere Operation. Einfach Daten von db laden. –

+0

ja, auch ich bekomme das auf meinem Marshmallow-Gerät, im Logcat heißt es späte Freigabe –

Antwort

6

Hallo, ich bin auch mit Blick auf dieses Problem, wenn ich mein Android Studio Update 2.0

Dieses Problem, indem minSDKVersion 14 bis 16 und ändern Sie die gradle Version 2.4 behoben ist. Das wird gut funktionieren.

0

Go-Skripte Gradle -> build.gradle (Projekt). Innerhalb der Abhängigkeiten Block, ersetzen Sie diese Zeile:

classpath 'com.android.tools.build:gradle:2.0.0'

mit diesem,

classpath 'com.android.tools.build:gradle:1.3.0'

Jetzt synchronisieren Ihr Projekt. Nach der Synchronisierung Ihres Projekts erhalten Sie einige Fehler.

Gehen Sie zu gradle-wrapper.properties. Jetzt ersetzen Sie diese folgende Zeile:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

mit diesem:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip

Sync Ihrem Projekt ein- oder zweimal und Ihr Problem gelöst werden soll.

+0

ASFIK, um Android Studio Instant Run zu implementieren, ist es erforderlich, mindestens die Version 2.0.0 oder höher zu verwenden. Wenn wir die Version degradieren, deaktivieren wir den "Instant-Run". Habe ich Partha Chakraborty richtig? –

+0

Ja, du hast Recht. @Muhamed –

+0

Um die sofortige Ausführung zu deaktivieren, müssen Sie die Gradle-Version nicht herunterstufen. Sie können dies in den Perfections von Android Studio tun. Suchen Sie dort einfach nach "instant run" und deaktivieren Sie das Feature. –

2

Die Frage ist bereits beantwortet, aber in meinem Fall ist es aufgrund des seltsamen Problems mit Android Studio 2.0 & 2.1. Das erstmalige Starten der Anwendung dauert länger als gewöhnlich. Dieses Problem tritt nur im Debug-Modus auf und wirkt sich nicht auf dein veröffentlichtes APK aus. Versuchen Sie, einen Release-Build Ihrer App zu erstellen und überprüfen Sie sie. Es sollte perfekt funktionieren.

2

Es ist, weil mit Instant Run aktiviert, Android Studio einige dex files injizieren, damit Instant-Run-Funktion im Zielgerät ausgeführt wird. Aus diesem Grund dauert die Ausführung Ihrer Anwendung länger als normalerweise.

Um dies zu überprüfen, sehen Sie sich Ihren Android Studio-Monitor an, wenn er Ihre Anwendung startet. Es wird angezeigt, dass einige Dex-Dateien geladen wurden.

Der Vorteil Instant Run ist, wenn Sie Ihre Anwendung ändern und ausführen, manchmal es wird sofort in Ihrem Gerät Ziel mit kurzer Verzögerung läuft im Vergleich ohne Instant-Run.

Aber der Vorbehalt ist, Instant Run immer noch Buggy und es funktioniert nicht immer.