2016-04-08 13 views
3

Ich war mit Android Studio 1.5, die gut funktionierte (nicht so schnell). heute habe ich es auf 2.0 stable release aktualisiert, und jetzt der startvorgang dauert 2-3 minuten zum ersten mal zu starten. Nach dem ersten start ich überprüfe die app info bildschirm ich sah, dass 41 MB (variiert auf verschiedenen geräten) cache ist da auf der ersten Anfang. Ich weiß nicht, was passiert. Hier ist meine gradle DateiAndroid Studio 2.0 stabil, verlangsamen App-Start

apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 
    packagingOptions { 


     exclude 'META-INF/NOTICE' 

     exclude 'META-INF/LICENSE' 

     exclude 'META-INF/DEPENDENCIES' 

     exclude 'META-INF/DEPENDENCIES.txt' 

     exclude 'META-INF/LICENSE.txt' 

     exclude 'META-INF/NOTICE.txt' 
    } 
    sourceSets { 
     main.jniLibs.srcDirs = ['libs'] 
    } 



    defaultConfig { 
     applicationId "com.my.app" 
     minSdkVersion 17 
     targetSdkVersion 21 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false; 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 

    } 
    dexOptions { 
     preDexLibraries = false 
     javaMaxHeapSize "2g" 
    } 


} 


dependencies { 

    compile fileTree(dir: 'libs', include: ['*.jar']) 

    compile project(':volley') 
    compile project(':android-country-picker-master') 
    compile project(':viewPagerIndicator') 


    compile ('com.android.support:design:23.1.1') { 
     exclude module: 'support-v4' 
    } 
    compile ('com.google.code.gson:gson:2.5'){ 
     exclude module: 'support-v4' 
    } 
    compile ('com.squareup.picasso:picasso:2.5.0'){ 
     exclude module: 'support-v4' 
    } 
    compile ('pl.droidsonroids.gif:android-gif-drawable:1.1.10'){ 
     exclude module: 'support-v4' 
    } 
    compile ('javax.annotation:javax.annotation-api:1.2'){ 
     exclude module: 'support-v4' 
    } 
    compile ('com.google.android.gms:play-services:8.4.0') { 
     exclude module: 'support-v4' 
    } 
    compile ('com.squareup.retrofit:retrofit:1.9.0'){ 
     exclude module: 'support-v4' 
    } 
    compile ('com.squareup.okhttp:okhttp:2.4.0'){ 
     exclude module: 'support-v4' 
    } 
    compile 'org.apache.httpcomponents:httpclient:4.5.1' 
    compile 'org.apache.httpcomponents:httpmime:4.3.6' 
    compile ('com.google.guava:guava:18.0') { 
     exclude module: 'support-v4' 
    } 
    compile ('org.apache.commons:commons-lang3:3.4'){ 
     exclude module: 'support-v4' 
    } 

} 

jede mögliche Hilfe würde geschätzt, Danke

+0

dexOptions { preDexLibraries = false JavaMaxHeapSize "4g" } –

+0

Änderung Heapgröße es Ihnen helfen ... –

+0

up Startzeit aufgrund verschiedener Indizierung dauert done von Android Studio, aber wenn Sie Instant Run aktiviert haben, wird der nächste Build nicht so lange dauern. All diese Größenzunahme ist wahrscheinlich ich denke an dieses Problem –

Antwort

1

Wie oben in den Kommentaren erwähnt, Befehle Gradle für das Feature „Instant-run“ verursacht dieses Problem. Ich kehrte (gezwungen) zurück auf 2,8 und ich habe dieses Problem nicht mehr.

aktualisiert Nur die Debug Kompilierung hat dieses Problem, da es heiß Swipe, keine Probleme mit der Veröffentlichung

1

Dies ist normal, und ist Teil der Funktion Instant Run muss. In der Theorie sollten nachfolgende Lasten schneller sein. Meine ersten paar Ladevorgänge dauerten 5 Minuten! Aber jetzt scheint schneller als meine bisherigen 1,5 Minuten:

Eingeführt im Android Studio 2.0, Instant-Run ist ein Verhalten für den Run und Debug-Befehle, die signifikant die Zeit zwischen Updates zu Ihrer Anwendung reduziert. Obwohl Ihr erster Build möglicherweise länger dauern kann, bis fertig ist, wird Instant Run die nächsten Updates an Ihre App senden, ohne ein neues APK zu erstellen, sodass Änderungen viel schneller sichtbar sind.

Instant-Run wird nur dann unterstützt, wenn Sie die Debug-Build-Variante implementieren, Verwendung Android Plugin für Gradle Version 2.0.0 oder höher und setzten minSdkVersion auf 15 oder höher in Ihrer App auf Modulebene build.gradle Datei. Stellen Sie minSdkVersion für die beste Leistung auf 21 oder höher ein.

Nach einer App bereitstellen, ein kleines, Symbol gelb Thunderbolt im Run-Taste erscheint (oder Debug-Taste), was darauf hinweist, dass Instant- Run bereit ist Updates das nächste Mal drücken Sie auf die Schaltfläche klicken. Anstatt ein neues APK zu erstellen, werden nur die neuen Änderungen und, , in einigen Fällen die App nicht einmal neu gestartet, aber sofort zeigt die Auswirkungen dieser Codeänderungen.

Instant Run verschiebt aktualisierten Code und Ressourcen an Ihr angeschlossenes Gerät oder Emulator, indem ein Hot-Swap, ein Warm-Swap oder ein Cold-Swap durchgeführt wird. Es bestimmt automatisch den Typ des auszuführenden Swaps basierend auf dem Typ der von Ihnen vorgenommenen Änderung. In der folgenden Tabelle wird beschrieben, wie sich Instant Run verhält, wenn Sie bestimmte Codeänderungen auf ein Zielgerät übertragen.

Quelle: http://developer.android.com/tools/building/building-studio.html?utm_campaign=android_launch_studio_040716&utm_source=anddev&utm_medium=blog#instant-run

Hinweis: (Achten Sie darauf, gradle zu aktualisieren, wenn Sie dazu aufgefordert, nach der Android-Studio Installation 2.0)

2

Wie hier erwähnt: http://tools.android.com/tech-docs/instant-run

Wenn Instant-Run mit einem Projekt unter Verwendung konfiguriert für Legacy Multidex, das heißt, wenn build.gradle konfiguriert ist withmultiDexEnabled wahr und minSdkVersion 20 oder niedrigere Build Leistung kann sich bei der Bereitstellung eines sauberen Builds auf Zielgeräte mit Android 5.0 (API Level 21) oder höher verringern.

[..] Um bereinigter Build Leistung während der Entwicklung zu verbessern, sollten ein Produkt Geschmack withminSdkVersion Schaffung 21.

android { 
productFlavors { 
    // Define separate dev and prod product flavors. 
    dev { 
     // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin 
     // to pre-dex each module and produce an APK that can be tested on 
     // Android Lollipop without time consuming dex merging processes. 
     minSdkVersion 21 
    } 
    prod { 
     // The actual minSdkVersion for the application. 
     minSdkVersion 14 
    } 
} 
     ... 
buildTypes { 
    release { 
     runProguard true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 
              'proguard-rules.pro' 
    } 
} 

} 
dependencies { 
    compile 'com.android.support:multidex:1.0.0' 
} 
-1

Wie in Ihrer gradle Umsetzung dieses Versuchen bereits von Ricky Patel erwähnt :

dexOptions { preDexLibraries = false javaMaxHeapSize "4g" } 

funktioniert in der Tat, nicht sicher warum durch sie compl Die Startup-Verzögerung für mich wurde entfernt.

Verwandte Themen