我在我的项目中使用了一些有用的库,所有这些库都添加并安装在Gradle
上,但是当我第一次启动应用程序时,这个库会导致速度降低
在手机上安装apk并尝试启动有3秒延迟的应用
this link因为Android build gradle is too slow
不是我的问题
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile "com.android.support:appcompat-v7:${support_library}"
compile "com.android.support:support-v13:${support_library}"
compile "com.android.support:cardview-v7:${support_library}"
compile "com.android.support:recyclerview-v7:${support_library}"
compile "com.android.support:design:${support_library}"
compile 'org.greenrobot:eventbus:3.0.0'
compile('io.socket:socket.io-client:0.8.3') {
exclude group: 'org.json', module: 'json'
}
compile 'com.facebook.rebound:rebound:0.3.8'
compile 'com.tumblr:backboard:0.1.0'
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.squareup.picasso:picasso:2.5.2'
annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${dbflow_version}"
compile "net.zetetic:android-database-sqlcipher:${sqlcipher_version}@aar"
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.google.dagger:dagger:2.10'
annotationProcessor 'com.google.dagger:dagger-compiler:2.10'
compile 'com.google.dagger:dagger-android:2.10'
compile 'com.google.dagger:dagger-android-support:2.10' // if you use the support libraries
annotationProcessor 'com.google.dagger:dagger-android-processor:2.10'
compile 'com.google.code.gson:gson:2.7'
compile 'com.jakewharton.timber:timber:4.3.1'
compile 'com.fatboyindustrial.gson-jodatime-serialisers:gson-jodatime-serialisers:1.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.0.2'
compile 'com.birbit:android-priority-jobqueue:2.0.1'
compile 'com.google.android.gms:play-services:10.2.1'
compile 'com.android.support:multidex:+'
}
gradle.properties包含:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
如何解决此问题并加快启动应用程序?
答案 0 :(得分:0)
我要做的第一件事就是升级Gradle和Android Build Tools版本以获得最新的增强功能。 (写作时Gradle是3.5)。
就图书馆而言,你最快的速度杀手是
compile 'com.google.android.gms:play-services:10.2.1'
不要编译所有播放服务。 https://developers.google.com/android/guides/setup#split
EventBus也可能是不必要的if you implement RxJava a certain way。
答案 1 :(得分:0)
如果我没有错,这会让白色屏幕卡住一段时间,如果是这样,可能是因为即时运行,它不会影响你的发布版本给出一个镜头并试试这个。 如果您仍希望在开发应用程序时第一时间快速运行,则可以禁用即时运行,请按照以下步骤操作:
禁用即时运行:
打开“设置”或“首选项”对话框。
导航到构建,执行,部署>即时运行。
取消选中启用即时运行旁边的复选框。
答案 2 :(得分:0)
我猜库不是问题。问题在于即时运行功能。 当我使用即时运行我的应用程序需要花费太多时间来加载时,它还会在启动屏幕之前根据我的主题显示黑屏或白屏。所以,我猜你面临同样的问题。尝试取消选中即时运行功能。
首选项→构建,执行,部署→即时运行并取消选中启用即时运行。
如果您没有找到这些功能,请尝试使用最新的稳定版本更新您的Android工作室。
如果您仍然遇到问题,请尝试将Android插件更新为最新的Alpha版本,然后启用或禁用即时运行。
如果你想看看你正在运行哪个Android插件版本,那么转到
打开模块设置→项目结构窗口选择项目→查看Android插件版本