Android Studio 和 Gradle 优化配置总结

Android Studio 和 Gradle 优化配置总结

最近换了一台新电脑,重新安装了 AS、JDK 等开发软件。重新配置的过程繁琐,不断地踩坑试错,可算是配置好了,记录下一些常用设置,软件环境是 macOS :)

1. Android Studio

官网下载安装后,根据电脑的硬件配置,适当修改 AS 的配置参数,可以加快启动和编译的速度。 在 /Applications/AndroidStudio.app/Contents/bin 目录下有两个配置文件:

  • studio.vmoptions:自定义 Studio Java 虚拟机 (JVM) 的选项,如堆内存和缓存大小。
  • idea.properties:自定义 Android Studio 的属性,如插件文件夹路径或最大支持文件大小。

这里是我的配置:

-Xms1024m
-Xmx2048m
-XX:MaxPermSize=768m
-XX:ReservedCodeCacheSize=512m
-XX:+UseCompressedOops

复制代码

-Xms:JVM 起始分配的堆内存 -Xmx:JVM 允许分配的最大堆内存 -XX:MaxPermSize:JVM 最大允许分配的非堆内存 -XX:ReservedCodeCacheSize:JIT 编译后的最大代码缓存

这几个参数的值当然是越大越好,当然还要根据自己的硬件来修改,现在做开发的都是 8G 内存起,上面的配置就比较合适。

第二处改动是打开 idea.properties 文件,在最后追加一行 disable.android.first.run=true,表示首次启动时禁止运行检查,一定要在首次启动之前配置,要不然可能会卡在启动界面。

2. Gradle

如果不采取一些特殊手段,Gradle 的下载非常缓慢,建议还是手动下载,然后配置到 AS 中。在 /Users/用户名/.gradle 文件夹下新建一个文件:gradle.properties,然后把下面的配置添加进去。

# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=768m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true

# Enables new incubating mode that makes Gradle selective when configuring projects. 
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true

复制代码

主要的优化方面是开启守护进程、并行模式、孵化模式(只构建相关的项目)、设置 JVM 参数(最大堆内存、最大非堆内存)等。 在 AS 设置里面,开启离线模式,使用本地 gradle 文件,这样会不需要联网,速度会快很多。如图:

3. AS 其他设置

  1. 禁用不必要的插件,如:Firebase 系列、Google 系列、hg4idea、CVS、YAML 等,这样可以减少资源占用,加快启动速度。

  2. 由于你懂的原因,访问 Google 的时候会中断,对于开发来说很不友好。当然国内的 Android SDK 的服务器也有,一般是科研机构、大公司提供,这些都是备用手段。我使用 SS 的 HTTP 代理,主机和端口号如图。完成后点击下方的 check connection,如果能访问 Google,那么恭喜你通关。

  3. 其他的设置包括字体、代码风格、快捷键、编码、填充等,就比较琐碎,这里不再啰嗦。有问题,找 Google。哈哈 ^_^

最后

在现在这个金三银四的面试季,我自己在网上也搜集了很多资料做成了文档和架构视频资料免费分享给大家【包括高级UI、性能优化、架构师课程、NDK、Kotlin、混合式开发(ReactNative+Weex)、Flutter等架构技术资料】,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

资料获取方式:加入Android架构交流QQ群聊:513088520 ,进群即领取资料!!!

点击链接加入群聊【Android移动架构总群】:加入群聊

转载于:https://juejin.im/post/5c938f8ef265da60d0003cce

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101035.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux心跳出血漏洞,heartbleeder 自动检测 OpenSSL 心脏出血漏洞 (附修复指南)[通俗易懂]

    linux心跳出血漏洞,heartbleeder 自动检测 OpenSSL 心脏出血漏洞 (附修复指南)[通俗易懂]heartbleeder可以探测你的服务器是否存在OpenSSLCVE-2014-0160漏洞(心脏出血漏洞)。什么是心脏出血漏洞?CVE-2014-0160,心脏出血漏洞,是一个非常严重的OpenSSL漏洞。这个漏洞使得攻击者可以从存在漏洞的服务器上读取64KB大小的内存信息。这些信息中可能包含非常敏感的信息,包括用户请求、密码甚至证书的私钥。据称,已经有攻击者在某宝上尝试使用漏洞…

  • Spring中ApplicationContext对Beanfactory扩展[通俗易懂]

    Spring中ApplicationContext对Beanfactory扩展[通俗易懂]ApplicationContext比BeanFactory扩展了高级特性,除了集成了ListableBeanFactory和HierarchicalBeanFactory以外,实现了如下附加功能:

  • 程序书写规范笔记

    程序书写规范笔记

  • linux 卸载jdk_linux环境变量文件

    linux 卸载jdk_linux环境变量文件1、检查系统jdk版本:2、检测jdk安装包:3、卸载openjdk:一开始选择了直接删除openjdk文件夹后面使用了这种简单明了快捷yumremoveopenjdk4、安装新的jdk:首先到jdk官网上下载你想要的jdk版本,下载到指定的文件夹下,我一般放在/usr/lib/java。官方下载越来越慢,可以考虑一些云服务商的镜像,如华为云:wgethttps://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-lin

  • 矩阵的行列式、秩的意义

    矩阵的行列式、秩的意义线性代数真是一个很抽象的东西,即使我们很多人都学过,但是我相信绝大部分的都不知道这是干嘛用的,找了不少资料,终于发现了这么一篇好文章,于是强烈希望可以和大家分享,帮助大伙进一步理解矩阵的行列式和秩的本质意义。1关于面积:    一种映射 大家会说,面积,不就是长乘以宽么,其实不然。我们首先明确,这里所讨论的面积,是欧几里得空间几何面积的基本单位:平行四边形的面积。平行四边形面积

  • DM368开发 — 文件烧写[通俗易懂]

    DM368开发 — 文件烧写[通俗易懂]参看:DM36x的UBL分析以及串口启动UBL是RBL引导启动的一段小程序,主要负责初始化时钟,串口,NAND,DDR2等,然后把uboot,kernel,rootfs复制到DDR2上并引导uboot。为什么UBL跟串口启动一起讲,那是因为这两个关系很密切,很多代码是共用的,而且代码都放在同一个目录下,所以就合起来一起讲了。一、UBLubl的代码放在dvsdk目录下

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号