簡體   English   中英

java.lang.OutOfMemoryError:無法創建新的本機線程

[英]java.lang.OutOfMemoryError: unable to create new native thread

最近更新到android 2.2。

試圖打開現有項目。 它促使我轉換,我接受了。 該項目成功導入,但每當我嘗試建設時,我得到:

Error:Execution failed for task ':app:mergeDebugResources'. > java.lang.OutOfMemoryError: unable to create new native thread

我已經添加了 :

org.gradle.daemon=false
GRADLE_OPTS="-Xmx2048m -Xms2048m -XX:MaxPermSize=1024m"
org.gradle.jvmargs=-XX:MaxPermSize=512m

to gradle.properties。 它仍然沒有奏效。

您有機會面對java.lang.OutOfMemoryError: Unable to create new native thread每當JVM從操作系統請求java.lang.OutOfMemoryError: Unable to create new native thread時,都java.lang.OutOfMemoryError: Unable to create new native thread 只要底層操作系統無法分配新的本機線程,就會拋出此OutOfMemoryError。 本機線程的確切限制非常依賴於平台,因此我們建議通過運行類似於以下示例的測試來找出這些限制。 但是,一般情況下,導致java.lang.OutOfMemoryError: Unable to create new native thread的情況java.lang.OutOfMemoryError: Unable to create new native thread將經歷以下階段:

  1. JVM中運行的應用程序請求新的Java線程
  2. JVM本機代碼代理為OS創建新本機線程的請求操作系統嘗試創建一個新的本機線程,該線程需要將內存分配給線程
  3. 操作系統將拒絕本機內存分配,因為32位Java進程大小已耗盡其內存地址空間 - 例如(2-4)GB進程大小限制已被命中 - 或者操作系統的虛擬內存已完全耗盡
  4. java.lang.OutOfMemoryError:無法創建新的本機線程錯誤。

參考: https//plumbr.eu/outofmemoryerror/unable-to-create-new-native-thread

從2.2.0切換回gradle 2.1.3修復了問題。

這個線程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM