Androidstudio打开一个工程会很慢,一只在scan或者update文件,有什么优化对策么?

Android Studio 打开项目慢、卡在 "Scanning files to index" 或 "Updating indices/Gradle sync" 是常见问题,尤其是大型多模块项目、机械硬盘、内存不足或缓存损坏时。以下是实用优化对策,从简单到进阶,按优先级排序,多数用户反馈有效。

1. 立即尝试的快速修复(最有效)

  • Invalidate Caches 并重启 (强烈推荐先做这个):
    1. File → Invalidate Caches / Restart → Invalidate and Restart
    2. 首次会重新索引,之后通常会快很多。
  • 删除 .idea 文件夹(项目根目录下),然后重新打开项目并 Sync Project with Gradle Files。这能重置索引和配置,常解决卡住问题。

2. 内存和 VM 配置优化(核心提升)

Android Studio 很吃内存,推荐至少 16GB 系统内存

  • 增加堆内存

    • Help → Edit Custom VM Options ,添加/修改:

      复制代码
      -Xms1024m
      -Xmx4096m   # 或根据你的内存设为 6G/8G(不要超过系统可用内存一半)
      -XX:ReservedCodeCacheSize=512m
      -XX:+UseCompressedOops
    • 或者通过 File → Settings → Appearance & Behavior → System Settings → Memory Settings 直接调整 IDE 堆大小,重启生效。

  • Gradle 也需要内存:在项目根目录的 gradle.properties(没有就新建)添加:

    复制代码
    org.gradle.jvmargs=-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    org.gradle.daemon=true
    org.gradle.parallel=true
    org.gradle.configureondemand=true

3. 索引和扫描优化

  • 排除不需要索引的目录
    • 在 Project 视图右键 buildapp/build.gradle 等文件夹 → Mark Directory as → Excluded
    • 这样 Studio 就不会反复扫描生成文件。
  • 忽略缩略图文件 (Windows 常见):
    • File → Settings → Editor → File Types → 在 "Ignore files and folders" 里添加 Thumbs.db;*.tmp; 等。
  • 关闭不必要的 Inspections(Lint 检查):Settings → Editor → Inspections,只保留需要的。

4. Gradle 和构建优化

  • 启用 Offline Mode (离线模式):Settings → Build, Execution, Deployment → Gradle → Offline work。适合已经下载好依赖的项目,能大幅减少网络扫描。
  • 更新到最新 Android Gradle Plugin (AGP)Gradle 版本(通过 build.gradle 文件)。
  • Settings → Build, Execution, Deployment → Compiler
    • 勾选 Compile independent modules in parallel
  • 大项目考虑使用 Composite Build 或模块化拆分。

5. 其他重要优化

  • 禁用无用插件Settings → Plugins,关闭不用的(如游戏、某些 VCS、Firebase 如果不用)。
  • 杀毒软件排除 :把 Android Studio 安装目录、项目目录、.gradle 缓存目录加入杀毒软件白名单(实时扫描会严重拖慢文件操作)。
  • 使用 SSD :把项目和 Gradle 缓存(~/.gradle)移到 SSD 上,效果显著。
  • Power Save ModeFile → Power Save Mode(临时关闭后台分析,适合低配机)。
  • 关闭不必要的后台任务,只打开一个项目。
  • 确保使用最新稳定版 Android Studio(定期检查更新)。

6. 进阶/硬件建议

  • 如果项目极大,考虑 Unload Modules(不活跃模块卸载)。
  • 低配机可尝试 File → Power Save Mode + 降低内存设置。
  • 缓存目录管理:定期清理 ~/.gradle/caches(但别全删)。

操作完后建议重启 Studio 并观察 。大多数情况下,Invalidate Caches + 加大内存 + 排除 build 目录 就能解决 80% 的问题。

如果还是慢,告诉我你的:

  • 系统(Win/Mac/Linux)和内存大小
  • 项目规模(多少模块)
  • Android Studio 版本

会。现在高版本的 Android Studio 打开大型工程时,最容易卡在:

  • Scanning files to index
  • Updating indices
  • Gradle Sync
  • Kotlin indexing
  • VFS Refresh
  • Git status scanning

尤其是:

  • Flutter / React Native / AOSP / 超大 mono repo
  • node_modules 很多
  • .git 很大
  • C++ NDK 工程
  • 开了杀毒软件实时扫描

下面是实际有效的优化方案(按收益排序)。


一、最有效:排除不用扫描的目录

File Watch + Indexing 最大杀手

Android Studio 会疯狂扫描这些目录:

复制代码
node_modules
build
.gradle
.idea
dist
out
externalNativeBuild
.cxx

操作

右键目录:

复制代码
Mark Directory as
→ Excluded

建议排除:

复制代码
node_modules
build
.gradle
.cxx
externalNativeBuild
dist
out

收益非常大。


二、关闭 Android Studio 的实时病毒扫描(Windows)

Windows Defender 会:

  • 扫 Gradle
  • 扫 Kotlin cache
  • 扫索引
  • 扫 .jar

导致 IDE 卡死。

把这些目录加入排除

Android Studio Cache

复制代码
C:\Users\你的用户名\.gradle
C:\Users\你的用户名\.android
C:\Users\你的用户名\AppData\Local\Google
C:\Users\你的用户名\AppData\Local\JetBrains

工程目录

你的项目根目录。


三、关闭没必要插件

很多插件会增加 indexing。

建议关闭

复制代码
GitHub Copilot
Alibaba Java Coding
Markdown
Database Tools
Firebase
PlantUML

查看插件

复制代码
Settings
→ Plugins

四、提高 IDE 内存

默认内存太小。

修改

复制代码
Help
→ Change Memory Settings

推荐:

内存 建议
16G电脑 4096MB
32G电脑 8192MB

五、Gradle优化(很关键)

gradle.properties

加入:

复制代码
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.caching=true

kotlin.incremental=true
kotlin.code.style=official

org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8

六、不要放机械硬盘

Android Studio 对磁盘 IO 极度敏感。

必须:

  • SSD
  • NVMe 最好

机械硬盘打开大型工程会非常痛苦。


七、关闭实时 Git 扫描

大型 git 仓库特别卡。

关闭

复制代码
Settings
→ Version Control
→ Background

关闭:

复制代码
Perform background fetch

以及:

复制代码
Enable Commit Checks

八、关闭不必要代码分析

设置

复制代码
Settings
→ Editor
→ Inspections

关闭:

  • 拼写检查
  • 部分 Kotlin inspection
  • 部分 Lint

大型项目收益明显。


九、禁用 Android Studio 的文件同步

关闭自动同步

复制代码
Settings
→ Build Tools
→ Gradle

关闭:

复制代码
Auto Reload Gradle

改成:

复制代码
Manual

否则它会一直:

复制代码
Updating Gradle...
Scanning files...

十、如果是 Flutter / React Native 工程

这是重灾区。

Flutter

排除:

复制代码
build
.dart_tool
.flutter-plugins
.flutter-plugins-dependencies

React Native

排除:

复制代码
node_modules
android/build

十一、彻底清缓存(有时奇效)

删除:

复制代码
C:\Users\用户名\.gradle\caches

以及:

复制代码
File
→ Invalidate Caches
→ Invalidate and Restart

十二、最容易被忽略的问题

1. OneDrive同步

如果工程在:

复制代码
Desktop
Documents

很可能被 OneDrive 实时同步。

会卡爆。

解决:

把工程放:

复制代码
D:\Projects

2. 中文路径

部分 Gradle 插件会异常。

避免:

复制代码
D:\项目\

改:

复制代码
D:\Projects\

3. 超大的 log 文件

比如:

复制代码
logs
tmp
dump

IDE 会扫描。

直接 excluded。


十三、真正终极方案(很多老程序员都这么干)

Android Studio 只做编辑器

真正编译:

复制代码
gradlew assembleDebug

终端编译。

IDE 只负责:

  • 写代码
  • 跳转
  • Debug

这样会顺畅很多。


十四、如果你是 Kotlin 工程

Kotlin indexing 特别吃 CPU。

可以尝试:

复制代码
Settings
→ Languages & Frameworks
→ Kotlin

关闭部分:

复制代码
Kotlin scripting

十五、观察到底是谁卡

打开:

复制代码
Help
→ Diagnostic Tools
→ Activity Monitor

你会看到:

  • Gradle
  • Kotlin
  • Git
  • Indexing
  • Defender

到底是谁占 CPU。

这个非常关键。


如果你愿意,我还能告诉你:

  • 「2026年 Android Studio 最佳性能配置」
  • 「低配电脑不卡的终极方案」
  • 「JetBrains IDE 通用加速方案」
  • 「AOSP源码如何不卡」
  • 「为什么新版 AS 越来越吃内存」
  • 「程序员真实使用的高性能配置」
    Android Studio(基于 IntelliJ IDEA)在打开项目时一直处于 "Scanning files to index"(扫描文件以建立索引)或 "Updating" 状态,是很多开发者常遇到的痛点。这通常是因为项目文件过多、内存分配不足、缓存损坏或杀毒软件干扰导致的。

针对这个问题,可以采取以下几个维度的优化对策,建议按照从易到难的顺序逐一尝试:

1. 优化索引(直接解决 Scanning 慢的问题)

Android Studio 会为项目里的每一个文件建立索引以提供代码补全和跳转。如果扫描了不必要的文件,就会非常慢。

  • 排除不需要建立索引的文件夹 : 如果你的项目包含大量非原生的静态资源、H5代码,或者是 React Native / Flutter 项目,里面有 node_modules 或庞大的 build 文件夹。
    • 操作 :在左侧 Project 视图中,右键点击不需要建立索引的文件夹 -> Mark Directory as -> Excluded。被排除的文件夹会变成橙色,AS 将不再扫描它们。
  • 暂停索引(较新版本的 AS 支持) : 在底部状态栏显示 "Scanning..." 时,旁边通常会有一个 Pause(暂停) 按钮。你可以先暂停它,等你需要写代码时再让它在后台慢慢扫。

2. 清理并重建缓存(解决索引卡死/死循环)

有时候索引文件损坏,会导致 AS 陷入死循环,一直在 update。

  • 操作 :点击顶部菜单栏 File -> Invalidate Caches...
  • 勾选前两项(Clear file system cache...Clear VCS Log caches...),然后点击 Invalidate and Restart。重启后它会重新建立一次完整的索引(这一次可能会稍慢),但以后再打开就会恢复正常速度。

3. 增加内存分配(解决性能瓶颈)

默认情况下,Android Studio 和 Gradle 分配的内存可能较小,导致在扫描和构建时频繁触发垃圾回收(GC),从而极度拖慢速度。

  • 增加 IDE 本身的内存
    • 点击菜单栏 Help -> Edit Custom VM Options...

    • 修改或添加以下参数(根据你的电脑内存调整,如果是 16G 以上内存,建议给 4G 或 8G):

      复制代码
      -Xms1024m
      -Xmx4096m  # 最大堆内存,改为4096m或更大
      -XX:ReservedCodeCacheSize=512m
    • 保存并重启 Android Studio。

  • 增加 Gradle 的内存
    • 打开项目根目录下的 gradle.properties 文件(如果没有可以新建,或者修改全局的 ~/.gradle/gradle.properties)。

    • 添加或修改以下配置:

      复制代码
      org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
      org.gradle.parallel=true   # 开启并行编译
      org.gradle.caching=true    # 开启构建缓存
      org.gradle.daemon=true     # 开启守护进程

4. 杀毒软件/Windows Defender 白名单(针对 Windows 用户,效果极其明显)

如果你使用的是 Windows 系统,Windows Defender 或其他杀毒软件会实时监控文件的读写。Android Studio 在扫描和编译时会产生极其庞大的碎片文件读写,杀软的实时监控会让速度变慢几倍甚至十几倍。

  • 操作 :将以下目录添加到杀毒软件(或 Windows 安全中心)的排除项(白名单) 中:
    1. 你的 Android 项目所在的根目录。
    2. C:\Users\你的用户名\.gradle
    3. C:\Users\你的用户名\.android
    4. C:\Users\你的用户名\AppData\Local\Google\AndroidStudioxxxx.x(AS 的系统缓存目录)

5. 禁用不必要的插件

很多第三方插件会在项目加载时参与文件扫描分析(比如各种代码扫描工具、Alibaba Java Coding Guidelines、不需要的语言支持等)。

  • 操作 :点击 File -> Settings -> Plugins -> Installed
  • 将平时根本用不到的插件(比如 Kotlin 之外的其他语言支持、多余的云平台插件等)取消勾选,然后重启。

6. 检查硬盘和网络环境

  • 固态硬盘 (SSD) :确保你的项目代码和系统盘(包括 .gradle 缓存目录)都放在 SSD 上。如果放在机械硬盘(HDD)上,Scanning 的速度是无法拯救的。
  • 网络问题(Gradle Sync 卡住) :有时候界面上显示 update,其实是在后台下载 Gradle 依赖。确保你在项目根目录的 build.gradle 中配置了国内的 Maven 镜像源(如阿里云镜像),以加快下载速度。

总结建议排查顺序 : 先尝试 Invalidate Caches(清缓存) -> 然后修改 VM Options(加内存) -> Windows 用户一定要配置 杀毒软件白名单 -> 手动 Exclude(排除) 掉 build/node_modules 等无关大文件夹。

相关推荐
许野平2 年前
Rust 语言中 as 关键字用法
rust·类型转换·as
bcbobo21cn3 年前
Oracle is和as 关键字学习
数据库·oracle·as·is
imkaifan3 年前
24、TS中的类型断言
typescript·ts·as·断言