原文:https://blog.csdn.net/xwh_1230/article/details/60961723

实践最有效的提高Android Studio运行、编译速度方案

最有效提升Android studio编译速度的方式:提升电脑配置!—- 鲁迅

鲁迅所说确实是实情,提升配置是最有效的方式,但对于我等屌丝来说,有时候很难办到,因此我们接着看下面的优化。

一、安装时的问题

1、安装完成后启动卡死

刚刚打开studio就卡在gradle building的界面再也不动了(去连接墙外的网下载),那么这个时候我们就需要把这个联网下载操作屏蔽掉,找到studio安装目录,找到idea.properties文件,打开,加上下面一行配置,作用是在初次打开的时候不让它连接谷歌进行更新。

disable.android.first.run=true

1

2

2、更改studio的VM大小

AS限制了Java虚拟机启动的内存大小,限制了最大堆内存,当AS运行越久,内存越不足的时候,就会频繁的触发GC,AS就自然会卡起来了,严重的直接黑屏,所以,我们把对应的所需内存都配置大一些,32位的系统打开studio.exe.vmoptions文件,如果是64位的话打开studio64.exe.vmoptions,改动以下配置,根据各自配置适当调节。

-Xms512m

-Xmx4096m

-XX:MaxPermSize=2048m

-XX:ReservedCodeCacheSize=1024m

1

2

3

4

5

二、取消一些联网操作或者使用离线模式

1、打开File->Settings->appearance &behavior->system setting->Updates,把两个选择框都取消选中。

如图:

2、使用offline work和Local gradle

第一次启动的时候需要下载Gradle,地址:https://gradle.org/releases,下载对应版本放到C:\User{username}.gradle\wrapper\dists\gradle-3.3-all(版本根据下载的版本修改即可)

setting->Build,Execution,Deployment->gradle,把offline work选中,并选择Use local Gradle distribution,里面的路径是AS安装路径/gradle/gradle-x.xx.x

三、优化编译方案

1、开启gradle的守护进程(亲测比较管用的配置,能提升50%,之前把gradle.properties写成了gradle.properties.txt,也是被百度的一些文章给误导~!)

当 Android Studio 遇到错误的时候,往往会导致 Android Studio 挂掉,为了防止推出程序,则另外开启一个线程来守护 Android Studio 的进程,具体操作。 在 C:\Users.gradle 这个目录下,创建 gradle.properties配置文件,复制以下配置进行优化。

# 编译时使用守护进程

org.gradle.daemon=true

#JVM最大允许分配的堆内存,按需分配

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

#使用并行编译

org.gradle.parallel=true

org.gradle.configureondemand=true

1

2

3

4

5

6

7

8

2、尽量使用第三方库的jar、aar文件导入自己的项目,或者将第三方库下载到本地,然后当做一个本地模块导入自己的项目,不要再使用gradle中的maven依赖了(使用offline模式就会报错)

以compile ‘com.squareup.okhttp:okhttp:2.0.0’为例:

百度搜索:maven 仓库

输入关键字:okhttp

找到对应的lib

打开并找到对应的2.0.0版本

点击上面红框中的版本号打开

有一些arr在central中,这个是jar在第一个红框中,点击下载

在build.gradle添加:compile files(‘libs/okhttp-2.0.0.jar’)

附录:

android o 编译及运行,【转】实践最有效的提高Android Studio运行、编译速度方案相关推荐

  1. Android App包瘦身优化实践

    随着业务的快速迭代增长,美团App里不断引入新的业务逻辑代码.图片资源和第三方SDK,直接导致APK体积不断增长.包体积增长带来的问题越来越多,如CDN流量费用增加.用户安装成功率降低,甚至可能会影响 ...

  2. ubuntu平台下编译vlc-android视频播放器实践

    音视频实践学习 android全平台编译ffmpeg以及x264与fdk-aac实践 ubuntu下使用nginx和nginx-rtmp-module配置直播推流服务器 android全平台编译ffm ...

  3. NDK实践(一)在linux环境下编译ffmpe

    系列文章目录: NDK实践(一)在linux环境下编译ffmpe NDK实践(二)将编译的ffmpeg静态库集成到Android工程 最近开始接触学习ndk开发,本着边学习边实践的原则,计划完成视频编 ...

  4. Android图片处理之Fresco初实践

    转载请注明转自http://write.blog.csdn.net/postedit/50459154[小曾的博客] 关于 Fresco Fresco 是一个强大的图片加载组件. Fresco 中设计 ...

  5. (Google I/O '17) Speeding Up Your Android Gradle Builds 在本地的实践

    引子 一直以来,由于项目中加入的module太多,全量编译一次公司的安卓项目需要2个小时.后来作死换了一台iMac全量编译一个安卓的项目需要四个多小时.幸亏有高人的指点,参考了2017年Google ...

  6. 不反编译、无逆向基础也能轻松编写Android App Hook插件? Xposed的远房表弟,Hookworm来也!

    前言 Xposed的大名相信很多同学都不陌生,它提供了一种能力,可以在不修改原apk的情况下,以插件的方式改变目标App的某些行为. 但随着Android系统版本的迭代,原来的Xposed已经不适合在 ...

  7. android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法

    Android Studio 运行按钮灰色的完美解决方法 今天新建项目的时候突然发现编译后运行按钮为灰色. 解决方案:第一步:点击图中的Add Configuration,出来如下界面 第二步:点+号 ...

  8. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK

    文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...

  9. [编转]Android localsocket 的基础和使用实践: 02

    在上一节里,谈到了基础和具体是实践实现: 这一节涉及调试和具体的实践测试: 例子源码在: http://download.csdn.net/detail/goleftgoright/4183596 下 ...

最新文章

  1. 开源点云实时压缩方案测试
  2. RYU控制器的学习笔记(二)
  3. 【H.264/AVC视频编解码技术具体解释】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据...
  4. 为排序使用索引OrderBy优化
  5. c语言一个循环重新输入密码,想程序高手求助--用C语言来编辑一个输入密码的程序...
  6. 【转】Spark源码分析之-scheduler模块
  7. 2020-3-20前端题目
  8. if ,else if ,else 执行过程
  9. Java Web学习总结(9)——servlet和Jsp生命周期解读
  10. CSS→代码语法、优先级、选择器、权值、字体文本、颜色、长度值、块状内联元素、盒模型、布局模型→层模型绝对相对定位、div排列、水平居中
  11. 怎样用计算机进行文字采集,怎么将照片上的文字自动录入电脑
  12. (十八)其他数据库对象,视图,序列
  13. 数据结构严蔚敏(c语言版)课后算法题答案-栈和队列
  14. c语言词法分析程序设计,c语言词法分析器的简单实现 词法分析器的设计与实现...
  15. 【数据获取】1:25万全国基础地理公开数据库(水系、道路、村庄)下载整理
  16. 大学计算机构成课程论文,大学计算机课程论文
  17. 快手二面:a==1 a==2 a==3 是 true 还是 false?
  18. 2019最新14个国外知名开发者社区
  19. Mac搭建Flink集群
  20. 微信小程序全栈开发实践 第二章 微信小程序组件介绍及使用 -- 2.3 rich-text 组件,以及如何单击预览它的节点图片并保存

热门文章

  1. HDFS基本原理及数据存取实战
  2. linux chromium安装falsh插件
  3. 使用RIP协议处理不连续的子网和VLSM(一)
  4. linux运维架构篇
  5. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总
  6. angularjs学习第四天笔记(第一篇:简单的表单验证)
  7. Codeblocks 中文乱码解决方法
  8. 根据两个日期字符串,格式为(YYYY-MM-DD),获取年龄,保留两位小数但不四舍五入...
  9. 五、扩展Orchard(一) First Steps into Orchard
  10. [Project Euler] 来做欧拉项目练习题吧: 题目012