Android应用程序启动时间太长

时间:2016-07-21 07:47:40

标签: android android-studio android-gradle

我搜索了很多问题,但我能找到的唯一答案是重构onCreate中的代码以启用快速启动。但在我的情况下问题看起来不同。 我和我的团队成员正在处理通过GITHUB同步的相同代码,由他制作的构建在闪存中打开,由我制作的构建需要10秒以上才能启动。 另一个问题,他的版本大约为90MB左右,我的版本只有30MB。应用程序无论如何都是完全正常运行的,但启动时间和构建大小的差异太大了。

我不确定他的系统配置,但我使用JAVA8进行编译,使用SDK 24和Gradle 2.10构建应用程序。

这是我的gradle文件

buildscript {
    repositories {
        jcenter()
        /*flatDir {
            dirs 'libs'
        }*/
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        //compile(name:'library-release', ext:'aar')
        classpath 'io.realm:realm-gradle-plugin:0.88.0'
        classpath 'io.fabric.tools:gradle:1.21.2'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}


android {
    compileSdkVersion 24
    buildToolsVersion '24.0.0'

    useLibrary 'org.apache.http.legacy'
    dexOptions {
        maxProcessCount 4 // this is the default value
        javaMaxHeapSize "4g"
        dexInProcess = false
    }

    defaultConfig {
        applicationId "com.sample.app"
        minSdkVersion 21
        targetSdkVersion 24
        versionCode 31
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        /*debug {
            minifyEnabled true
            useProguard false
        }*/
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            java.srcDirs = ['src/main/java']
        }
        robolectric {
            java.srcDir file('src/test/java/')
        }
    }

}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile('com.twitter.sdk.android:twitter:1.9.0@aar') {
        transitive = true;
    }
    testCompile 'org.robolectric:shadows-play-services:3.0'
    testCompile 'org.robolectric:shadows-support-v4:3.0'
    testCompile 'org.powermock:powermock-module-junit4:1.6.2'
    testCompile 'org.powermock:powermock-module-junit4-rule:1.6.2'
    testCompile 'org.powermock:powermock-api-mockito:1.6.2'
    testCompile 'org.powermock:powermock-classloading-xstream:1.6.2'
    testCompile 'junit:junit:4.12'
    testCompile 'org.robolectric:robolectric:3.0'
    testCompile 'org.assertj:assertj-core:1.7.0'
    androidTestCompile 'com.android.support:support-annotations:24.0.0'
    androidTestCompile 'com.android.support.test:runner:0.4'
    androidTestCompile 'com.android.support.test:rules:0.4'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
    compile('com.crashlytics.sdk.android:crashlytics:2.5.7@aar') {
        transitive = true;
    }

    //    compile(group: 'com.google.gms', name: 'google-services', version: '2.0.0-beta4', ext: 'pom')
    //apply plugin: 'com.android.application'
    compile 'com.google.android.gms:play-services:9.2.1'
    compile 'com.google.android.gms:play-services-location:9.2.1'
    compile 'com.google.android.gms:play-services-gcm:9.2.1'
    compile 'com.mcxiaoke.volley:library:1.0.15'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.android.support:support-v4:24.0.0'
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile 'com.android.support:design:24.0.0'
    compile 'com.android.support:recyclerview-v7:24.0.0'
    compile 'com.facebook.android:facebook-android-sdk:4.7.0'
    compile 'com.squareup.okhttp3:okhttp:3.2.0'
    compile 'com.coinbase.android:coinbase-android-sdk:1.0.1'
    compile 'org.roboguice:roboguice:2.0'
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.14'
    compile 'com.sprylab.android.texturevideoview:texturevideoview:1.1.1'
    compile 'com.google.code.gson:gson:2.4'
    compile 'com.google.android.gms:play-services-ads:9.2.1'
    compile 'com.google.android.gms:play-services-auth:9.2.1'
}
//put 'com.google.gms.google-services' plugin at the bottom
apply plugin: 'com.google.gms.google-services'

1 个答案:

答案 0 :(得分:7)

如果仅在调试模式下发生,那么您可以尝试禁用即时运行

偏好设置>构建,执行,部署>即时运行

并取消选中“启用即时运行...”