Android开发

Android关于org.gradle.jvmargs

2017-12-07  本文已影响0人  隨風cvil

打开gradle.properties文件

找到

# Specifies the JVM arguments used for the daemon process.

# The setting is particularly useful for tweaking memory settings.

org.gradle.jvmargs=-Xmx1536m

上面的那两行是对这句话的解释:

用于指定守护进程的JVM参数。

这个设置呢,对于调整内存设置特别有用。

是指定线程调整线程内存的!

那平常开发中它有什么用呢?

主要是用来加快gradle的编译!

按照官方的说法:Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的,在JVM中堆之外的内存称为非堆内存(Non-heap memory)。

简单的说就是:堆是java代码可及的内存,开发人员写的东西都是堆分配的内存(底层实现除外)。而非堆内存则是JVM自己用的,比如JVM内部处理或优化,垃圾处理,常数池等。

堆的内存分配用-Xms和-Xmx

-Xms分配堆最小内存,默认为物理内存的1/64;-Xmx分配最大内存,默认为物理内存的1/4。

非堆内存分配用-XX:PermSize和-XX:MaxPermSize

-XX:PermSize分配非堆最小内存,默认为物理内存的1/64;-XX:MaxPermSize分配最大内存,默认为物理内存的1/4。

因此,合理的内存分配是程序正常稳定的运行的基础。不然内存溢出可就麻烦了。

上一篇 下一篇

猜你喜欢

热点阅读