Android中使用web3j時出現記憶體溢位錯誤:OutOfMemoryError
在使用Android和web3j開發時出現了記憶體溢位錯誤的異常情況即OutOfMemoryError。
我正在試著在Android應用程式中整合web3j。但是,在載入以太坊錢包檔案時,庫提供了一個記憶體不足的異常:
Credentials credentials = WalletUtils.loadCredentials("password", walletFile)
異常exception是這麼說的:
java.lang.OutOfMemoryError: Failed to allocate a 268435468 byte allocation with 8050708 free bytes and 244MB until OOM
問題可能在這裡:
//com.lambdaworks.crypto.SCrypt#scryptJ
byte[] V = new byte[128 * r * N]; // r: 8, N: 262144, V = byte[268435456]
我知道可以載入credentials
,因為另一個專案在Ether Wallet使用web3j,並能夠載入相同的以太坊錢包檔案。如何解決這個問題?
問題的解決
一個快速解決的方法。在/src/main中建立jniLibs資料夾,並將此加密資料夾中的所有Android檔案新增到jniLibs資料夾中,然後編譯執行。
注意:需要gradle 0.7.2+
將jniLibs自動新增到構建中。
原文《以太坊常見問題和錯誤》中的:
http://cw.hubwiz.com/card/c/ethereum-FAQ/1/2/6/
另外推薦幾個很受歡迎全網稀缺的互動教程:
相關文章
- Java記憶體溢位OutOfMemoryError的產生與排查Java記憶體溢位Error
- Java棧溢位|記憶體洩漏|記憶體溢位Java記憶體溢位
- flink同步MySQL資料的時候出現記憶體溢位MySql記憶體溢位
- 手動寫java記憶體溢位 java.lang.OutOfMemoryError: PermGen spaceJava記憶體溢位Error
- 記憶體溢位記憶體溢位
- 【記憶體洩漏和記憶體溢位】JavaScript之深入淺出理解記憶體洩漏和記憶體溢位記憶體溢位JavaScript
- Jmeter記憶體溢位:java.lang.OutOfMemoryError: Java heap space解決思路JMeter記憶體溢位JavaError
- Java記憶體溢位Java記憶體溢位
- 手動寫java OOM記憶體溢位 java.lang.OutOfMemoryError: Java heap spaceJavaOOM記憶體溢位Error
- 記憶體溢位和記憶體洩露記憶體溢位記憶體洩露
- Windbg下使用dump分析記憶體溢位記憶體溢位
- 手動寫java OOM記憶體溢位 java.lang.OutOfMemoryError: GC overhead limit exceededJavaOOM記憶體溢位ErrorGCMIT
- Android-Fragment 切換造成記憶體溢位,導致記憶體增長AndroidFragment記憶體溢位
- JVM——記憶體洩漏與記憶體溢位JVM記憶體溢位
- Executors使用不當引起的記憶體溢位記憶體溢位
- 阿里大佬講解Java記憶體溢位示例(堆溢位、棧溢位)阿里Java記憶體溢位
- JavaScript之記憶體溢位和記憶體洩漏JavaScript記憶體溢位
- php cli 中的使用curl 記憶體溢位時的正確處理辦法PHP記憶體溢位
- 模擬實戰排查堆記憶體溢位(java.lang.OutOfMemoryError: Java heap space)問題記憶體溢位JavaError
- Java EasyExcel 匯出報記憶體溢位如何解決JavaExcel記憶體溢位
- [Java基礎]記憶體洩漏和記憶體溢位Java記憶體溢位
- JAVA記憶體區域與記憶體溢位異常Java記憶體溢位
- 關於Allowed memory size of (PHP記憶體溢位)錯誤的可能原因及解決方案PHP記憶體溢位
- mybatis-plus getOne 記憶體溢位MyBatis記憶體溢位
- return new物件造成溢位記憶體物件記憶體
- intellij-idea中maven編譯專案出現記憶體溢位現象的解決方IntelliJIdeaMaven編譯記憶體溢位
- Android記憶體溢位、記憶體洩漏常見案例分析及最佳實踐總結Android記憶體溢位
- Java記憶體區域與記憶體溢位異常 - 執行時資料區Java記憶體溢位
- java記憶體溢位和記憶體洩漏的區別Java記憶體溢位
- jvm記憶體設定及記憶體溢位、解決方案JVM記憶體溢位
- StackOverflowError堆疊溢位錯誤Error
- Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)RedisError記憶體溢位
- 關於 PHP 記憶體溢位的思考PHP記憶體溢位
- 記憶體和棧溢位問題定位記憶體
- php記憶體溢位了怎麼辦?PHP記憶體溢位
- Windows Tomcat 記憶體溢位解決方法WindowsTomcat記憶體溢位
- JVM(2)-Java記憶體區域與記憶體溢位異常JVMJava記憶體溢位
- 深入淺出JVM(十四)之記憶體溢位、洩漏與引用JVM記憶體溢位