首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存外接:使用ffmpeg库的Java堆空间错误

内存外接:使用ffmpeg库的Java堆空间错误
EN

Stack Overflow用户
提问于 2019-05-23 09:12:12
回答 2查看 539关注 0票数 0

这就是我所犯的错误:

代码语言:javascript
复制
Out of memory: Java heap space.
Please assign more memory to Gradle in the project's gradle.properties file.
For example, the following line, in the gradle.properties file, sets the maximum Java heap size to 1,024 MB:
<em>org.gradle.jvmargs=-Xmx1024m</em>

这是因为:

代码语言:javascript
复制
implementation 'nl.bravobit:android-ffmpeg:1.1.7'

当我删除错误获取gone.Well时,错误是将堆大小增加到1024 is,并且我确实将它增加到10 is,它仍然不能工作,这就是连接的内容。

代码语言:javascript
复制
org.gradle.jvmargs=-Xmx10000m

仍然有相同的error.also尝试过这样的方法:

代码语言:javascript
复制
<application
        android:largeHeap="true">

尽管如此,没有chance.Please不建议使用替代库,因为我不能。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-23 13:48:42

在第5级中,它们极大地减少了默认内存需求。

命令行客户机现在以64 1GB堆开始,而不是1GB。这可能会影响使用--非守护进程模式直接在客户端VM中运行的构建。我们不鼓励使用--没有守护进程,但是如果必须使用它,可以使用GRADLE_OPTS环境变量来增加可用内存。 Gradle守护进程现在以512 1GB的堆启动,而不是1GB。大型项目可能必须使用org.gradle.jvmargs属性来增加此设置。 所有工作人员,包括编译器和测试执行器,现在从512 of堆开始。以前的缺省值是物理内存的1/4。大型项目可能需要在相关任务上增加此设置,例如JavaCompile或Test。

增加客户端内存

代码语言:javascript
复制
GRADLE_OPTS=-Xmx1g ./gradlew build

增加守护进程内存

代码语言:javascript
复制
./gradlew -D org.gradle.jvmargs=-Xmx1g

更新:

为了获得更多的澄清,gradle使用了客户机VM、守护进程VM、worker VM(并行运行时)和特定任务的附加VM。

客户端VM可以使用选择环境变量进行定制。

可以使用org.gradle.jvmargs属性自定义守护进程VM。

辅助VM是从守护进程VM中分叉的,因此将使用相同的设置。

可以通过任务自定义每个任务VM。对于示例

tasks.withType(JavaCompile) { options.compilerArgs += ['-Xdoclint:none', '-Xlint:none', '-nowarn'] }

根据关于客户机VM使用情况的gradle文档:

客户机VM只处理命令行输入/输出,因此很少需要更改其VM选项。

票数 1
EN

Stack Overflow用户

发布于 2019-05-23 09:25:52

我在这里找到https://github.com/tanersener/mobile-ffmpeg之前就使用过这个库

它将拥有对硬件加速的广泛支持,并且FFmpeg命令比这个nl.bravobit库运行得更快。

如果您的应用程序支持、Lollipop、Marshmallow,请使用:

代码语言:javascript
复制
implementation 'com.arthenica:mobile-ffmpeg-full-gpl:4.2.LTS'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56271816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档