关于SO还有更多类似的问题,但我还没有找到他们的答案,所以我开了新的答案。
我正在使用:
Android Studio 2.2.3(但与2.2.2相同) Gradle 2.14.1 JRE 1.8.0
我在mac,OS X El Capitan(2.5 GHz,i5,8GB RAM)上使用它。
直到几周前它一直很好用,现在它的速度非常缓慢。大多数情况下,"索引/更新索引" 。
我并不关心构建时间(大约需要30-40秒,但我可以忍受这种情况)和那种使编码几乎不可能的常量索引(整体响应性非常差)。
我的gradle文件中是否有可能导致此问题的内容?
我确实有一些依赖项,但应用程序本身相对简单。
build.gradle // app
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
dataBinding {
enabled = true
}
defaultConfig {
applicationId "com.example.myproduct"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.+'
compile 'com.android.support:support-v4:23.2.+'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:design:23.2.+'
compile 'com.jakewharton.threetenabp:threetenabp:1.0.4'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'io.reactivex:rxjava:1.0.10'
compile 'io.reactivex:rxandroid:1.1.0'
compile 'com.google.android.gms:play-services-auth:8.3.0'
compile 'com.facebook.android:facebook-android-sdk:4.16.1'
}
的build.gradle //项目
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.google.gms:google-services:1.5.0-beta2'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
P.S。 我启用了 - 离线工作,并行和守护进程。我增加了VM堆大小。我已经上传到最新的Android Studio。我用jcenter()取代了maven。 有什么我想念的吗?
答案 0 :(得分:38)
它也发生在我身上,我只是同步'app'并且它已经解决了......
或者使用此
在“文件菜单”下无效缓存/重新启动
答案 1 :(得分:16)
此外,您可以尝试:
文件->使缓存无效/重新启动...
这对我有用。
答案 2 :(得分:15)
对于遇到同样问题的其他人:
我的android工作室恢复了原来的性能(没问题)。 我很难说是什么改进了因为我一次做了很多改变,我记得很少见:
答案 3 :(得分:4)
尝试将Sdk存储在其他驱动器上,并尝试使缓存无效并重新启动。 希望这有帮助
答案 4 :(得分:2)
答案 5 :(得分:1)
我通过增加Android Studio流程的最大堆大小来摆脱不断的“更新索引”问题。
要执行此操作,请change Studio's JVM options(帮助 - >编辑自定义VM选项...)以包含-Xmx2g
,其中2g
是足以让Studio满意您的内存量_getSingleContract
项目的复杂性。
答案 6 :(得分:1)
只需转到文件->使缓存无效/重新启动
然后在打开的对话框中选择“无效并重新启动”
就是这样。
答案 7 :(得分:0)
我遇到了同样的问题,但只有拥有多个套餐才能解决问题。在' app / java / com.example.projectname' 下 如果您的java文件夹中有多个包,请尝试此操作。它立即为我工作。
在Android Studio'项目窗口中,'右键单击' app / java / com.example.android.projectname' ,然后点击“在资源管理器中显示”。移动你所有的' .java'将文件放在他们的子文件夹中,并将它们全部放在&app; / java / com.example.android.projectname'文件夹中。
接下来,回到Android Studio并打开你所有的' .java'文件。在代码的顶部,您应该看到Boundary
因为您已经删除了'套餐'并重新安置了' .java'文件,你需要改变每个' .java'文件包以阅读package com.example.android.projectname.subfolder;
您还需要进入清单并更改'活动android:name = ...'
希望这有效。
答案 8 :(得分:0)
使缓存无效/重新启动解决了我的问题。
谢谢。
答案 9 :(得分:0)
我在Android Studio 4.0.1中遇到了同样的问题。像在顶部答案中建议的那样按sync button
并不能解决问题。它实际上创建了第二个循环。而且我不想invalidate the caches
。
但是我只需restarting Android Studio
就可以轻松解决。
答案 10 :(得分:0)
对我来说,有一个损坏的模块,它有某种奇怪的符号链接,导致对 std::array<int, std::tuple_size_v<T>> res{};
中的所有文件进行索引,这不仅导致索引过长,而且创建了大量缓存。
简单地卸载模块有帮助。 Cmd+Shift+A(搜索所有内容)并查找“加载/卸载模块”。卸载所有不需要的模块。重新启动 IDE(使缓存无效也可能有帮助),并且应该修复无休止索引的问题。
答案 11 :(得分:0)
在我的情况下,删除 gradle 缓存是可行的。
rm -rf /User/user/.gradle/caches