Android Studio变得非常缓慢,不断地“更新索引”

40

在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//project

 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
    }

附注: 我已启用 - 离线工作,并行和守护进程。我已增加了VM堆大小。我已上传到最新的Android Studio。我已用jcenter()替换了maven。 我还有什么遗漏的吗?


可能是你的电脑问题,我的工作场所的电脑非常糟糕,所以我通过外置硬盘运行Android Studio和SDK组件,现在它的运行速度非常快,你也可以尝试关闭自动更新功能。 - BradleyIW
我的工作电脑编译需要5分钟,但由于编码正确,我猜问题可能出在导入上或其他地方。一些问题:您是否从更新中心更新了所有内容?您是否尝试重新编译整个项目以加载所需的所有内容? - Pier Giorgio Misley
是的,上周我做了几次,非常奇怪。 - daneejela
我也尝试过好几次。 - daneejela
你的项目在哪里?有时候它会在文件更改或任何现有文件系统调用时更新索引。 - user3471194
显示剩余2条评论
13个回答

51

这也发生在我身上了,我只需同步'app'便解决了...

或者尝试使用下面的方法:

在“文件菜单”下选择“无效缓存/重启”


4
清除缓存/重新启动解决了我的问题。谢谢。 - HongchaoZhang
2
它在地球上更新什么?为什么一遍又一遍地需要这么长时间? - Leon
@Leon 必须是某个错误。 - Abhishek Sengupta
1
我尝试了这个,并运行了 ./gradlew clean 以确保清除一切。 - vozaldi
我尝试了“无效缓存/重启”,但对我没有任何影响。(Android Studio Chipmunk | 2021.2.1 补丁2)“同步应用”是什么? - Peter

19

针对有相同问题的人:

我的Android Studio恢复了初始性能(很好)。目前我很难说是什么改进了,因为我一次性做了很多更改,以下是我可以回忆起的几个:

  • 将maven替换为-> jcenter()
  • 在属性中设置标志使用默认Gradle包装器
  • 将Android Studio更新到最新版本(目前为2.2.3)
  • 启用Gradle守护程序 - 配置按需
  • 无效缓存并重启(多次)

其中一些我在提问之前尝试过,但我认为当我最后更新Android Studio 2.2.3时,所有问题都已解决。


19

另外,您可以尝试:

文件 -> 无效缓存 / 重启...

这对我有效。


4
你好 Rafael,这个问题已经有答案了,你的解决方案已经在评论中被添加了。 - FatalMerlin

6

尝试将Sdk存储在其他驱动器上,还要尝试使缓存失效并重新启动。 希望这可以帮助。


我已经将SDK存储在便携式驱动器上了。但这对我没有帮助。 - Mohammedsalim Shivani
你的电脑配置是什么? - Pratik Gondil
128 GB固态硬盘,12 GB内存,i3第四代处理器。 - Mohammedsalim Shivani

6

我刚刚删除了.idea文件夹,然后重新启动了Android Studio,接着点击了“与Gradle文件同步项目”的按钮。

enter image description here

一切都很顺利。


这个对我有用。 - Jona

3

清除缓存/重启解决了我的问题。

谢谢。


2

我遇到了与 Android Studio 4.0.1 相同的问题。像顶部回答中建议的那样按下 同步按钮 并没有解决问题,实际上它创建了第二个循环。而我不想 使缓存无效

然而,我通过简单地 重新启动 Android Studio 解决了这个问题。


1

只需转到文件->无效缓存/重新启动

然后在打开的对话框上选择“无效并重新启动”

就这样。


1
我通过增加Android Studio进程的最大堆大小来解决了不断“更新索引”的问题。
为此,更改Studio的JVM选项(帮助->编辑自定义VM选项...),包括-Xmx2g,其中2g是足够保持Studio与您的项目复杂性保持良好的内存量。

1

删除 gradle 缓存在我的情况下起作用。

rm -rf /User/user/.gradle/caches

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接