- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Google 建议的构建优化之一是为您的构建启用 dexInProcess
(请参阅 here):
android {
dexOptions {
dexInProcess = true
}
}
有人可以解释一下它的实际作用吗?试图搜索官方文档,但关于此功能的信息不多(可能是因为android plugin 2.0.0仍处于alpha阶段,因此未完全公开)
最佳答案
从最新的 AS 版本中,我想我对这个标志有了更好的理解。以前 DEX 步骤发生在一个单独的外部进程中。这个标志的想法是 DEX 步骤在与构建相同的进程中运行,这使得构建过程更快。
你应该注意的唯一重要的事情是,DEX 步骤真的很消耗内存(还记得我们之前设置的 dexOptions.javaMaxHeapSize "4g"
选项吗?),所以从现在开始 DEX 步骤在与构建相同的进程中运行,您需要确保为 JVM 分配了足够的内存。否则构建会显着变慢甚至抛出 OutOfMemoryException。
我建议通过更新 gradle.properties
中的 jvmargs
为构建过程提供 4 次演出,如下所示:
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
关于android - dexInProcess 。它有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35068058/
Google 建议的构建优化之一是为您的构建启用 dexInProcess(请参阅 here): android { dexOptions { dexInProcess = t
我正尝试在我的 gradle 构建文件中使用“dexInProcess = true”,如下所示: android { dexOptions { dexInProcess = tru
我是一名优秀的程序员,十分优秀!