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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 存储bmp格式图片[通俗易懂]

    python 存储bmp格式图片[通俗易懂]importnumpyasnpfromPILimportImage#读入数据arr,此处为手动设置arr=np.array([[0,0,0,0,0],[0,0,0,0,0],[1,1,1,1,1],[1,1,1,1,1],[0,0,0,0,0]])#将元素类型更改为’uint8’arr=np.array(arr,dtype=’uint8′)arr=Image.froma

    2025年6月7日
    0
  • UVa 884 – Factorial Factors

    UVa 884 – Factorial Factors

    2021年12月16日
    37
  • 华为防火墙usg6000配置dhcp(华为交换机与防火墙互联配置)

    该场景,防火墙作为出口访问internet,然后接的傻瓜式交换机来连接下面的办公PC,属于一个简单的SOHO环境,一般在防火墙上面应用DHCP,也通常是这种情况,大点的环境则是交换机或者专门的DHCP服务器来做。1、防火墙初始化配置2、DHCP配置(基于全局的配置方式)3、防火墙策略+NAT配置,让下面PC能够访问Internet。4、测试1、防火墙初始化配置…

    2022年4月12日
    1.4K
  • 《三体》中的经典名句是_三体2黑暗森林中的好词好句

    《三体》中的经典名句是_三体2黑暗森林中的好词好句0.死亡是唯一一座永远亮着的灯塔,不管你向哪里航行,最终都得转向它指引的方向。一切都会逝去,只有死神永。1.弱小和无知不是生存的障碍,傲慢才是!2.有一个故事,说一波外星人来到了地球。他们发现这个

    2022年8月5日
    10
  • 什么是入门_初学板和专业板的区别

    什么是入门_初学板和专业板的区别1、Python,Pycharm,Anaconda区别与联系子曰:“工欲善其事,必先利其器”学习Python就需要有编译Python程序的软件,一般情况下,我们选择在Python官网下载对应版本的Python然后用记事本编写,再在终端进行编译运行即可。而在许多教程都推荐使用Anaconda和Pycharm,这到底是什么?对于小白来说,很懵逼。在学习Java时,正常情况选择安装JD…

    2022年8月29日
    0
  • .net 读书笔记

    好书不能只读一遍,这两天又翻看了一遍《你必须知道的.NET》,重温了下基础,重温了下经典,简单记录了下来。内存分配:CLR管理内存的区域,主要有三块,分别为:线程的堆栈,用于分配值类型实例。堆栈

    2021年12月23日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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