脚本运行报错:11:29:26.638/E: Thread[ScriptThread-151[6848f50b9a98757b5e0764e2.js] (Spawn-0),5]: Failed to allocate a 32 byte allocation with 3473696 free bytes and 3392KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.

java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 3473696 free bytes and 3392KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.
at org.mozilla.javascript.EmbeddedSlotMap.createSlot(Unknown Source:36)
at org.mozilla.javascript.EmbeddedSlotMap.modify(Unknown Source:42)
at org.mozilla.javascript.SlotMapContainer.modify(Unknown Source:5)
at org.mozilla.javascript.ScriptableObject.putImpl(Unknown Source:88)
at org.mozilla.javascript.ScriptableObject.putImpl(Unknown Source:9)
at org.mozilla.javascript.ScriptableObject.put(Unknown Source:1)
at org.mozilla.javascript.IdScriptableObject.put(Unknown Source:85)
at org.mozilla.javascript.BoundFunction.<init>(Unknown Source:50)
at org.mozilla.javascript.BaseFunction.execIdCall(Unknown Source:67)
at org.mozilla.javascript.IdFunctionObject.call(Unknown Source:7)
at org.mozilla.javascript.Interpreter.interpretLoop(Unknown Source:5786)
at org.mozilla.javascript.Interpreter.interpret(Unknown Source:62)
at org.mozilla.javascript.InterpretedFunction.call(Unknown Source:20)
at org.mozilla.javascript.InterfaceAdapter.invokeImpl(Unknown Source:95)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.invokeImpl(Unknown Source:11)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.lambda$invoke$0(Unknown Source:7)
at org.mozilla.javascript.-$$Lambda$VMBridge_custom$InterfaceAdapterWrapper$XK1hqYOz19X_TRE0jcwZie74Ua4.run(Unknown Source:13)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.call(Unknown Source:14)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.invoke(Unknown Source:12)
at org.mozilla.javascript.VMBridge_custom.lambda$newInterfaceProxy$0(Unknown Source:177)
at org.mozilla.javascript.-$$Lambda$VMBridge_custom$31AQty9pVklE2zYq0fNVpy3yWJ0.invoke(Unknown Source:15)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy5.asArray(Unknown Source)
at com.stardust.autojs.runtime.ScriptBridges.asArray(Unknown Source:5)
at com.stardust.autojs.engine.RhinoJavaScriptEngine$WrapFactory.wrap(Unknown Source:47)
at org.mozilla.javascript.NativeJavaMethod.call(Unknown Source:205)
at org.mozilla.javascript.Interpreter.interpretLoop(Unknown Source:5786)
at org.mozilla.javascript.Interpreter.interpret(Unknown Source:62)
at org.mozilla.javascript.InterpretedFunction.call(Unknown Source:20)
at org.mozilla.javascript.ContextFactory.doTopCall(Unknown Source:0)
at org.mozilla.javascript.ScriptRuntime.doTopCall(Unknown Source:33)
at org.mozilla.javascript.InterpretedFunction.call(Unknown Source:15)
at org.mozilla.javascript.InterfaceAdapter.invokeImpl(Unknown Source:95)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.invokeImpl(Unknown Source:11)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.lambda$invoke$0(Unknown Source:7)
at org.mozilla.javascript.-$$Lambda$VMBridge_custom$InterfaceAdapterWrapper$XK1hqYOz19X_TRE0jcwZie74Ua4.run(Unknown Source:13)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.call(Unknown Source:14)
at org.mozilla.javascript.VMBridge_custom$InterfaceAdapterWrapper.invoke(Unknown Source:12)
at org.mozilla.javascript.VMBridge_custom.lambda$newInterfaceProxy$0(Unknown Source:177)
at org.mozilla.javascript.-$$Lambda$VMBridge_custom$31AQty9pVklE2zYq0fNVpy3yWJ0.invoke(Unknown Source:15)
at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
at $Proxy8.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:966)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:293)
at com.stardust.autojs.core.looper.TimerThread.run(Unknown Source:56)

已存档
ltknnk6lvw · 2 个月前

回答

Hamibot AI
1
· 2 个月前

你的脚本出现了内存溢出问题(OutOfMemoryError),表明脚本运行时消耗了过多内存。以下是一些可能的解决方案:

  1. 优化脚本代码

    • 检查是否有内存泄漏(如无限循环、未清理的对象)
    • 减少同时处理的图片/数组数据量
    • 尽量复用对象而不是频繁创建新对象
  2. 调整脚本执行方式

// 文档地址 https://docs.hamibot.com/
try {
  // 你的主要脚本逻辑
} catch (e) {
  console.error("脚本出错:" + e);
} finally {
  hamibot.exit();
}
  1. 设备层面解决方案
    • 重启手机释放内存
    • 关闭其他后台应用
    • 在更高配置的设备上运行脚本

如果问题依旧,建议拆分复杂脚本为多个小脚本分段执行,或者联系脚本作者优化代码逻辑。

hamibot.exit();

ℹ️ 本回答由 AI 生成,内容仅供参考