android - Android Studio 在打开 Big Sur 时冻结
问题描述
所以我一直在我的 Mac 上使用 Android Studio 4.2 很长一段时间都没有问题,但是今天在开发应用程序的过程中它冻结了大约 20 分钟,直到最终我强行退出它。每次我尝试重新打开它时,它都会立即冻结并显示此错误:
我的活动监视器还报告它正在使用我 950% 的 CPU(我只有 6 个内核)。我试过增加 Xmx 的内存,就像它说的那样高,我的系统有 32gb 的 DDR4,所以应该没问题,但我没有做任何改变似乎实际上做任何事情,应用程序只是保持冻结状态。
任何人都有类似的问题或如何解决它的想法?
解决方案
介绍:
这是包含更具体细节的文档。在您的情况下,使用2 种方式中的WAY1来获取配置文件。
方式 1 - 通过目录 + 文档访问文件:
苹果系统
句法:~/Library/Application Support/Google/<product><version>
例子:~/Library/Application Support/Google/AndroidStudio4.1
视窗
句法:%APPDATA%\Google\<product><version>
例子:C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1
Linux
句法:~/.config/Google/<product><version>
例子:~/.config/Google/AndroidStudio4.1
对于 Android Studio 4.0 及更低版本,配置文件位于以下位置:
视窗: %USERPROFILE%\.CONFIGURATION_FOLDER
苹果系统: ~/Library/Preferences/CONFIGURATION_FOLDER
Linux: ~/.CONFIGURATION_FOLDER
应该有一个studio64.exe.vmoptions
文件,你也可以通过下面的步骤来访问。
方式 2 - 在 Android Studio 中访问文件:
您可以通过从顶部的“帮助”菜单访问“编辑自定义 VM 选项”来创建/编辑此文件。
内存的常规设置:
为了快速访问以增加您的“最大堆大小”,我编写了以下步骤以获得更好的概述:
- 单击菜单栏中的文件>设置(或在 macOS 上单击Android Studio >首选项)。
- 单击外观和行为>系统设置>内存设置。
- 调整堆大小以匹配您所需的数量。
- 单击应用。
注意:如果您更改了 IDE 的堆大小,则必须重新启动 Android Studio,然后才能应用新的内存设置。
到达文件 studio64.exe.vmoptions 后:
在 Android Studio 中编辑它(1. 标题)或右键单击它并使用记事本或文本文档“编辑”。现在studio64.exe.vmoptions
应该包含以下代码行:
-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops
Xmx
指定 Java 虚拟机 (JVM) 的最大内存分配池,同时Xms
指定初始内存分配池。您的 JVM 将以Xms
一定数量的内存启动,并且能够使用最大Xmx
数量的内存。
保存studio64.exe.vmoptions
文件并重新启动 Android Studio。
重新启动 IDE 并清除缓存:
由于 Android Studio 基于 IntelliJ,因此该选项应该在同一个位置。这是一个你很少使用的功能,除非你的文件缓存变得弹道(而且这种情况时不时发生)。
在File > Invalidate Caches/Restart下,您会找到一个选项,可以让您使缓存无效(并且您必须再次重建索引),或者只是重新启动 IDE。
在这种特定情况下有什么帮助:
@Quinn 进行了重新安装,因为他无法访问 android studio。这当然也解决了缓存问题。
推荐阅读
- angular - How to create angular 6 project from angular cli 7.3.3
- ruby-on-rails - 包含需要'test_helper'时缺少方法
- java - how to count the duplicate integer using hash map in java
- haskell - 输出元组的函数 fst 如何在 Haskell 中工作?
- arrays - PHP 与 Laravel 中的数组比较
- java - Android Nougat devices not supporting java.util.Base64 library
- android - 是否可以求出用户在一段时间内走过的距离?
- nginx - Nginx 忽略 /etc/nginx/conf.d/ 中 nginx.conf 中定义的 client_max_body_size
- spring - 这个 Spring Boot 项目的 Gradle + jsp
- node.js - 使用 librato-metrics 节点包设置 librato 指标的标签属性