8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
在项目开发中,小伙伴们一直在抱怨:“项目运行好卡啊~”。但是由于项目跟的一直很紧,一直都没有时间专心的去查找项目运行卡的原因。直到现在,终于有闲工夫来看看到底是什么原因引起的。于是,就去 google 上搜了大半天。试了各种偏方、正方。依旧没有解决这个疑难杂症。
就在要弃疗的时候,在 Android Developers 上面看到了一句话:1
2在 配置 org.gradle.jvmargs 时,如果您将 javaMaxHeapSize 设为 1280 MB,
则必须将 org.gradle.jvmargs 至少设置为 1792 MB (1280 + 512)
忽然想起来,项目中在 dexOptions 中配置了 javaMaxHeapSize = “4g”,但是在
gradle.properties 中 org.gradle.jvmargs=-Xmx1536m 却只配置了 1536m。WTF 啊,你给我配置了 4g,却把我放在了 2g 多一点的空间里,GC 一直频繁地清理内存。不卡才是见鬼了!
接下来就好办了,开始配置吧:
说明一下,以下配置的数值需要按照自己在项目中的需求来调整。如有需要先来配置一下 app/build.gradle 下的 dexOptions :1javaMaxHeapSize = 1280m然后再配置一下 gradle.properties :1
2# 1280(javaMaxHeapSize) + 512
org.gradle.jvmargs=-Xmx1792m最后还需要配置一下 Android Studio 的 studio.vmoptions 文件1
2
3
4最小堆内存 我配置的是 1024m
-Xms1024m
最主要的是这个最大堆内存,至少要与配置项目中 org.gradle.jvmargs 相同,当然越大越好
-Xmx1792m
当然官网还有一些其他的优化选项,通过整理之后大概是这样:首先在 app/build.gradle 中添加以下配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25android {
if (project.hasProperty('devBuild')) {
/* 关闭 multi-APK */
// 关闭 abi 拆分
splits.abi.enable false
// 关闭 density 拆分
splits.density.enable false
/* 停用 PNG 处理 */
aaptOptions.cruncherEnabled false
/* 停用 Crashlytics */
buildTypes.debug.ext.enableCrashlytics = false
/* 停用 Crashlytics 更新 Id */
buildTypes.debug.ext.alwaysUpdateBuildId = false
/* 预 dex 库依赖项 */
dexOptions.preDexLibraries true
/* 配置运行 dex-in-process 时要使用的最大线程数量 */
dexOptions.maxProcessCount 8
/* 设置最小 Api 为 21 */
defaultConfig.minSdkVersion 21
/* 只打包指定资源 */
defaultConfig.resConfigs ("zh", "xxhdpi")
}
......
}然后在 Android Studio -> Preferences -> Build, Execution, Deployment 下的 Compiler 中的 Command-line Options: 选项中填写:1-PdevBuild
或者可以用 Terminal 敲命令:1$ ./gradlew app:assembleDebug -PdevBuild
两种方式效果是一样的
通过以上配置以后,原本编译的时候还能玩会儿手机(几分钟),现在(一分钟以内)。。。我发现好像做了什么不该做的事,还是退回去吧。对不起,打扰了~~~