AndroidStudio Kotlin Analysis 卡住(无限Performing...)
Android Studio
前言
最近更新完 Android Studio 之后,发现莫名其妙的经常很卡。通过任务管理器查看Studio竟然一直持续CPU使用率在 95% 以上, What the Fk!!
什么情况啊!
首先确认,当前Studio没有运行下载,没有打包,没有开模拟器,也没什么正在执行的任务。
最后找了半天发现 Analysis… 在持续运行。。。
很疯狂的运行。。。
Android Studio 版本
Android Studio Arctic Fox | 2020.3.1 Patch 3
Build #AI-203.7717.56.2031.7784292, built on October 1, 2021
Runtime version: 11.0.10+0-b96-7249189 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 4
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: GsonFormatPlus, Dart, org.jetbrains.kotlin, io.flutter
Log
目测肯定是有问题啊。
咱们先找Log日志看看。
- 日志获取方式
Help >> Show Log in Explorer - 日志路径
C:\Users\CrazyApes\AppData\Local\Google\AndroidStudio2020.3\log\idea.log
错误日志如下
2021-12-20 14:45:41,225 [ 324567] ERROR - aemon.impl.PassExecutorService - Android Studio Arctic Fox | 2020.3.1 Patch 3 Build #AI-203.7717.56.2031.7784292
2021-12-20 14:45:41,225 [ 324567] ERROR - aemon.impl.PassExecutorService - JDK: 11.0.10; VM: OpenJDK 64-Bit Server VM; Vendor: Oracle Corporation
2021-12-20 14:45:41,225 [ 324567] ERROR - aemon.impl.PassExecutorService - OS: Windows 10
2021-12-20 14:45:41,226 [ 324568] ERROR - aemon.impl.PassExecutorService - Plugin to blame: Kotlin version: 203-1.6.10-release-923-AS7717.8
2021-12-20 14:45:41,227 [ 324569] ERROR - aemon.impl.PassExecutorService - Last Action: EditorEnter
2021-12-20 14:45:42,160 [ 325502] ERROR - aemon.impl.PassExecutorService - ContentElementType: ManifestFile; file: ManifestFile:MANIFEST.MFBoolean.TRUE.equals(getUserData(BUILDING_STUB)) = falsegetTreeElement() = Element(ManifestFile)vFile instanceof VirtualFileWithId = trueStubUpdatingIndex.canHaveStub(vFile) = false
java.lang.AssertionError: ContentElementType: ManifestFile; file: ManifestFile:MANIFEST.MFBoolean.TRUE.equals(getUserData(BUILDING_STUB)) = falsegetTreeElement() = Element(ManifestFile)vFile instanceof VirtualFileWithId = trueStubUpdatingIndex.canHaveStub(vFile) = falseat com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:976)at com.intellij.psi.stubs.StubProcessingHelperBase.checkType(StubProcessingHelperBase.java:91)at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:61)at com.intellij.psi.stubs.StubIndexImpl.lambda$processElements$2(StubIndexImpl.java:291)at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:327)at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:105)at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:93)at org.jetbrains.kotlin.idea.stubindex.KotlinFileFacadeClassByPackageIndex.get(KotlinFileFacadeClassByPackageIndex.kt:19)at org.jetbrains.kotlin.idea.caches.resolve.IDEKotlinAsJavaSupport$getFacadeClassesInPackage$facadeFilesInPackage$1.invoke(IDEKotlinAsJavaSupport.kt:55)at org.jetbrains.kotlin.idea.caches.resolve.IDEKotlinAsJavaSupport$getFacadeClassesInPackage$facadeFilesInPackage$1.invoke(IDEKotlinAsJavaSupport.kt:53)at org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt.runReadAction$lambda-0(ApplicationUtils.kt:17)at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:877)at org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt.runReadAction(ApplicationUtils.kt:17)at org.jetbrains.kotlin.idea.caches.resolve.IDEKotlinAsJavaSupport.getFacadeClassesInPackage(IDEKotlinAsJavaSupport.kt:53)at org.jetbrains.kotlin.asJava.LightClassUtilsKt.findFacadeClass(lightClassUtils.kt:58)at org.jetbrains.uast.kotlin.KotlinInternalUastUtilsKt.getContainingLightClass(kotlinInternalUastUtils.kt:89)at org.jetbrains.uast.kotlin.KotlinConverter.getLightClassForFakeMethod(KotlinConverter.kt:479)at org.jetbrains.uast.kotlin.KotlinConverter.convertDeclaration(KotlinConverter.kt:428)at org.jetbrains.uast.kotlin.KotlinConverter.convertDeclarationOrElement(KotlinConverter.kt:488)at org.jetbrains.uast.kotlin.KotlinUastLanguagePlugin.convertElementWithParent(KotlinUastLanguagePlugin.kt:67)at org.jetbrains.uast.UastFacade.convertElementWithParent(UastContext.kt:68)at org.jetbrains.uast.UastContextKt.toUElement(UastContext.kt:111)at com.intellij.codeInspection.apiUsage.ApiUsageUastVisitor.visitSimpleNameReferenceExpression(ApiUsageUastVisitor.kt:80)at org.jetbrains.uast.kotlin.KotlinUSimpleReferenceExpression.accept(KotlinUSimpleReferenceExpression.kt:47)at com.intellij.uast.UastVisitorAdapter.visitElement(UastVisitorAdapter.java:48)at org.jetbrains.kotlin.psi.KtElementImpl.accept(KtElementImpl.java:54)at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:66)at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:57)at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:311)at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:270)at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:156)at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:148)at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:268)at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:127)at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:116)at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$6(LocalInspectionsPass.java:268)at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:136)at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1146)at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:92)at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:104)at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:83)at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:172)at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:189)at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:83)at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
解决办法
- 升级或者重装 Android Studio
这是万能大法。
然而,我还是想弄明白为啥,所以还没急着升级,先观察一波。 - 有人遇到说是 org.jetbrains.kotlin 的问题
这个是在 Stack Overflow 中看到的。
提问者也是卡住了,通过升级 org.jetbrains.kotlin 解决问题。
如文章尾部的参考链接。
我尝试了一下,会好转。
我的 kotlin 从 1.6.0 升级到了 1.6.10。
虽然显示 Performing Analysis,但是确实不会反复执行了,只是感觉似乎一直未执行完毕。 - Flie >> Invalidate Caches/Restart >> Invalidate Caches/Restart
可能是 plugins 插件出现了问题。
这里可以考虑清除 Studio 缓存,然后重启。
这招也接近万能大法了。
可以解决很多类似问题。 - 删除缓存 c:/Users/me/AppData/Local/Google/AndroidStudio4.2 (win10)
这条也是在 Stack Overflow 中看到的。点我看
不过这篇中更多的推荐是修改Kotlin版本
不过也可以作为一种尝试记录,都不行的时候,可以试试删这个缓存
个人尝试
由于我是kotlin升级和 Invalidate Caches/Restart 同时做的,不太确定哪个具体生效的。
个人倾向是后者,错误原因可能还是插件的问题。
其它
日志错误尚未分析。
有相关经验的大佬可以在评论区指导一下。
参考文献
https://stackoverflow.com/questions/68113077/how-to-resume-a-stuck-code-analysis-in-android-studio
https://stackoverflow.com/questions/64984549/android-studio-stuck-at-analyzing
Android Studio Download
Android Studio 常见问题
AndroidStudio Kotlin Analysis 卡住(无限Performing...)相关推荐
- Kotlin Weekly 中文周报 —— 16
Kotlin 开发中文周报 文章 Android 开发者的一些实用技巧.(github.com) Ravindra 在 DevfestAhm 2017 的演讲. 像 Kotlin 的专家一样测试 .( ...
- t–sql pl–sql_T-SQL for DBA –使用T-SQL进行快速数据分析的三种方法
t–sql pl–sql 背景 (Background) As a database administrator, sometimes you need to identify details abo ...
- Octave简明教程
文章目录 简介 基本 符运算 算术运算符 逻辑运算符 赋值运算符 格式化输出 向量和矩阵 其他 移动数据 计算 绘图 基础语法 老师推荐人工智能最简单入手的是octave,用它写出来之后再转用pyth ...
- Python 中MNE库去伪迹(ICA)
脑电数据处理过程中如何去除伪迹是很重要的一个步骤,伪迹的处理主要包括眼电.心电.肌肉点以及工频干扰.实际处理过程中通过滤波0.5-45赫兹的带通滤波器可以去除掉大部分的噪音,在我接触到的实际脑电数数据 ...
- IDEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作。
IDEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作. 版权声明: ...
- AndroidStudio Refreshing Gradle Project编译更新Gradle卡住问题
描述 重新安装AndroidStudio或从Eclipse换到AS的时候,在编译新的项目的时候,一般会遇到如下图那样. 一般是因为在AndroidStudio每次更新版本都会更新Gradle这个插件( ...
- DEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作。...
把"Perform code analysis" 和 "Check TODO" 复选框前面的勾去掉就好了. 这个可能是因为所分析的目标文件太大了,造成一直分析不 ...
- performing vcs refresh卡住不动解决方法
之前有个项目很久没改了,然后今天改了下,发现提交一直卡在performing vcs refresh这个对话框里面,然后各种百度,发现都没什么卵用,后来我在看我的Version Controller中 ...
- IDEA去掉Performing Code Analysis,Check TODO
使用IDEA提交代码时,如果修改代码很多,总是要等很久,如下图: 该如何解决呢?其实很简单,只要在提交界面,把下面红色框前面的勾去掉即可: settings->Version Control-& ...
最新文章
- scrollview复用节点_ScrollView 两个控件复用, ScrollView 的极限优化
- envi反演水质参数_科技前沿基于GOCI静止水色卫星数据的长江口及邻近海域Kd(490)遥感反演及其在机载激光测深预评估中的应用...
- centos7安装dhcp服务器并由客户端动态获取IP地址
- 阅读开源源码的正确姿势建议
- c语言赋值小数,c语言中将一个浮点型赋值给整型时,会不会四舍五入?
- vm_comcat报错 - 数字或值错误 : 字符串缓冲区太小
- windows XP系统下oracle完整卸载过程
- MySQL的变量分类总结
- Java函数编码_转[收集java的常用函数代码]
- Dubbo-admin的安装
- Android API Guides---Bluetooth
- 计算机中信息表示方法,计算机中的信息表示方法二进制
- 自己调用NTDLL函数
- shouldband绑定数据的办法
- 织梦采集侠-dede织梦采集发布
- 多个PDF怎么免费合并成一个PDF
- ESP8266安装安信可一体化开发环境
- Face-recognition实现人脸识别
- 来自T00ls的帖子-XSS的奇技淫巧
- uniapp 评价应用_uniapp打开应用市场(APP端)
热门文章
- OpenFOAM常用类
- 华为harmonyos手机开发者,华为鸿蒙HarmonyOS2.0手机开发者Beta版正式发布
- Linux 自带神器 logrotate 详解
- import cv2时出现ImportError: DLL load fail:找不到指定模块
- 两年数据对比柱形图_【系列课程】用Excel进行数据可视化组合图表的制作lt;二gt;...
- 笔者在国庆期间发文的感概:思绪万千
- 在MySQL中第一章选择题_北大青鸟第二学期 123章数据库选择题
- 成立5年仅有2款产品,“黑马”云鲸何以比肩石头、科沃斯?
- 图像分割库segmentation_models.pytorch
- java 地图坐标转换_百度地图坐标和高德地图坐标转换代码 Java实现