AutoX icon indicating copy to clipboard operation
AutoX copied to clipboard

Autox.js运行中随机崩溃

Open plutonium-94 opened this issue 2 years ago • 6 comments

  1. Autox.js 版本:635
  2. Autox.js 下载渠道:https://github.com/kkevsekk1/AutoX/releases
  3. Android 版本:Android 12
  4. Android 机型:Redmi K50 Ultra
  5. Android 系统类别:MIUI 13
  6. VSCODE Autox.js 扩展版本(可选,如果是连接电脑的问题需要填):
  7. 问题描述: Autox.js在运行中随机崩溃,弹出包含如下日志信息的崩溃界面。崩溃是否发生与是否正在运行脚本无关,崩溃发生时其它APP均正常运行,系统显示可用内存充足。
  8. 报错日志(可选): Version: 635 Android: 31 java.lang.OutOfMemoryError: Failed to allocate a 3384 byte allocation with 4920288 free bytes and 4804KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC. java.util.Arrays.copyOf(Arrays.java:3257) java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448) java.lang.StringBuilder.append(StringBuilder.java:137) com.stardust.autojs.core.util.Shell$MyShellTermSession.onNewLine(Shell.java:224) com.stardust.autojs.core.util.Shell$MyShellTermSession.onOutput(Shell.java:267) com.stardust.autojs.core.util.Shell$MyShellTermSession.processInput(Shell.java:289) jackpal.androidterm.emulatorview.TermSession.readFromProcess(TermSession.java:500) jackpal.androidterm.emulatorview.TermSession.access$100(TermSession.java:60) jackpal.androidterm.emulatorview.TermSession$1.handleMessage(TermSession.java:124) android.os.Handler.dispatchMessage(Handler.java:106) android.os.Looper.loopOnce(Looper.java:211) android.os.Looper.loop(Looper.java:300) android.app.ActivityThread.main(ActivityThread.java:8243) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)
  9. 屏幕截图(可选):

plutonium-94 avatar Feb 21 '23 13:02 plutonium-94

OutOfMemoryError 内存泄漏。不知道是不是你的代码问题

ximengxuan avatar Feb 23 '23 12:02 ximengxuan

OutOfMemoryError 内存泄漏。不知道是不是你的代码问题

不过在没有运行任何脚本的时候也会出现崩溃

plutonium-94 avatar Feb 23 '23 15:02 plutonium-94

我也遇到了这个问题 看起来是GC机制问题我这里复现是提前回收了操作 例如:

var ra = new RootAutomator();
ra.swipe(x1, x2, y1, y2, 300, 1)//执行一个swipe 300ms
ra.exit();//root权限 直接退出了

短时间重复事件 就会造成内存泄露

仅供参考 PS:这个软件真的太棒辣

那怎么回收呢,我使用setinterval保持ws心跳也会这样

1451544363 avatar Nov 08 '23 10:11 1451544363

或许可以试试 while true sleep1000 来保活 注意作用域概念 避免重复申请

这样做的话得单独开个线程,怎么监控ws是否挂了,能否再指点下

1451544363 avatar Nov 09 '23 17:11 1451544363

不知道你具体场景 如果是聊天场景那有点绕了 如果是UI监听类 可以试试scrcpy 或者 在shell中发送一个android 广播 发自我的 iPhone在 2023年11月10日,01:52,Quit @.> 写道: 或许可以试试 while true sleep1000 来保活 注意作用域概念 避免重复申请 这样做的话得单独开个线程,怎么监控ws是否挂了,能否再指点下 —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>

现在是在脚本中创建个ws接收服务器下发的脚本指令,当接收到新脚本中,在ws脚本中创建新的脚本运行,ws的脚本保持不掉线,现在就是运行两小时左右就会掉线

具体报错是 Version: 8031300Android: 30 Error: java.lang.OutOfMemoryError: Failed toallocate a 72 byte allocation with 32 free bytesand 32B until OOM, target footprint 536870912growth limit 536870912 java.lang.OutOfMemoryError: Failed to allocatea 72 byte allocation with 32 free bytes and 32Buntil OOM, target footprint 536870912, growthlimit 536870912 at android.os.MessageMonitor$MessageMonitorlnfmarkFinish(MessageMonitorjava:546)

原先是在ui线程中创建的ws,然后ui线程在后台半小时就被杀掉,现在在脚本线程中可用维持两小时左右

1451544363 avatar Nov 12 '23 11:11 1451544363

image image

fanlushuai avatar Apr 07 '24 15:04 fanlushuai

解决了嘛

1451544363 avatar May 04 '24 10:05 1451544363

我的也是跑一会就内存溢出 不知道咋解决

chenjunliangya avatar Jul 15 '24 01:07 chenjunliangya

确定是溢出?还是空指针

发送自我的盖乐世

-------- 原始信息 -------- 发件人: chenjunliangya @.> 日期: 2024/7/15 09:59 (GMT+08:00) 收件人: kkevsekk1/AutoX @.> 抄送: Subscribed @.***> 主题: Re: [kkevsekk1/AutoX] Autox.js运行中随机崩溃 (Issue #499)

我的也是跑一会就内存溢出 不知道咋解决

― Reply to this email directly, view it on GitHubhttps://github.com/kkevsekk1/AutoX/issues/499#issuecomment-2227591168, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD64RCGUDRE7O53PR2M2E2DZMMUIHAVCNFSM6AAAAAAVDCNRO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGU4TCMJWHA. You are receiving this because you are subscribed to this thread.Message ID: @.***>

kkevsekk1 avatar Jul 15 '24 03:07 kkevsekk1

确定是溢出 java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 3992 free bytes and 3KB until OOM

chenjunliangya avatar Jul 15 '24 03:07 chenjunliangya

这个问题好像是autojs的引擎问题,autojs.pro文档里面说了,包括免费版和pro9.2以下的版本,有引擎自身的内存泄露的问题。

jianghaodn avatar Aug 15 '24 09:08 jianghaodn