HarmonyOS 鸿蒙Next React Native频繁报错java.lang.OutOfMemoryError解决方案

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next React Native频繁报错java.lang.OutOfMemoryError解决方案

根据用户反馈,目前出现这个问题的手机都是HarmonyOS系统的,有谁遇到过?

---------IOT Crash Log Begin---------

java.lang.RuntimeException: Could not invoke RNFetchBlob.fetchBlobForm

    at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:383)

    at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)

    at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)

    at android.os.Handler.handleCallback(Handler.java:966)

    at android.os.Handler.dispatchMessage(Handler.java:110)

    at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)

    at android.os.Looper.loopOnce(Looper.java:205)

    at android.os.Looper.loop(Looper.java:293)

    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)

    at java.lang.Thread.run(Thread.java:933)

Caused by: java.lang.reflect.InvocationTargetException

    at java.lang.reflect.Method.invoke(Native Method)

    at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)

    … 9 more

Caused by: java.lang.OutOfMemoryError: Failed to allocate a 2101064 byte allocation with 2116232 free bytes and 2066KB until OOM, target footprint 402653184, growth limit 402653184; failed due to fragmentation (largest possible contiguous allocation 1048576 bytes). Number of 256KB sized free regions are: 1514

    at android.util.Base64.decode(Base64.java:173)

    at android.util.Base64.decode(Base64.java:138)

    at android.util.Base64.decode(Base64.java:120)

    at com.RNFetchBlob.RNFetchBlobBody.countFormDataLength(RNFetchBlobBody.java:330)

    at com.RNFetchBlob.RNFetchBlobBody.createMultipartBodyCache(RNFetchBlobBody.java:186)

    at com.RNFetchBlob.RNFetchBlobBody.setBody(RNFetchBlobBody.java:96)

    at com.RNFetchBlob.RNFetchBlobReq.run(RNFetchBlobReq.java:297)

    at com.RNFetchBlob.RNFetchBlob.fetchBlobForm(RNFetchBlob.java:331)

    … 11 more

---------IOT Crash Log End---------

2 回复

您好,您的问题需要进一步分析,请您通过在线提单进一步解决:https://developer.huawei.com/consumer/cn/support/feedback/#/,感谢您的反馈和支持。

针对HarmonyOS (鸿蒙) 中使用React Native遇到的java.lang.OutOfMemoryError错误,通常是由于内存不足引起。可以尝试以下几个解决方案:

  1. 优化内存使用:检查并优化React Native应用的内存使用,减少不必要的资源加载和存储。
  2. 增加堆内存大小:在应用的配置文件中(如Android的gradle.properties),增加JVM的堆内存大小(如org.gradle.jvmargs=-Xmx2048m)。
  3. 使用内存分析工具:利用Android Studio的Profiler等工具分析内存使用情况,查找内存泄漏。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部