acc进程内存占用随时间增加

[复制链接]
查看2498 | 回复2 | 2022-4-12 14:34:54 | 显示全部楼层 |阅读模式
本帖最后由 bilabila 于 2022-4-13 19:04 编辑

发现acc进程在雷电上的内存占用有增加
4小时涨180M
总共2G内存
restartScript好像不会重启这个进程,不过kill可以
另外两个进程内存稳定
用的是3.6.0无障碍打的包感觉以后restartScript前得加一句kill了

在雷电2G内存上挂脚本,总是几个小时就停了。接下来试试定时kill有没有效。









更新:成功了,雷电挂了10小时都没崩,一看剩余内存900M(总共2G),和启动时一样。
维持游戏内存稳定的方法是每隔一小时 趁空闲时机重启游戏。因为观察到游戏内存增速为66M/h。
维持脚本内存稳定的方法是每隔一小时 重启acc进程 + 重设oom_score_adj。因为观察到脚本内存增速为44M/h。并且restartScript无效。

package = getPackageName()

keepalive = function()
  killacc()
  oom_score_adj()
end


killacc = function()
  local cmd = [[sh root sh -c ' \
settings put global heads_up_notifications_enabled 0
kill $(pidof ]] .. package .. [[:acc)
timeout 5 sh -c "
while :;do
  pidof ]] .. package .. [[:acc && break
done"
'
]]
  exec(cmd)

  tap({screen.width + 1, screen.height + 1})

  cmd = [[nohup su root sh -c ' \
sleep 5
settings put global heads_up_notifications_enabled 1
' > /dev/null & ]]
  exec(cmd)
end


oom_score_adj = function()
  local cmd = [[nohup su root sh -c ' \
echo -1000 > /proc/$(pidof ]] .. package .. [[:acc)/oom_score_adj
echo -1000 > /proc/$(pidof ]] .. package .. [[:remote)/oom_score_adj
echo -1000 > /proc/$(pidof ]] .. package .. [[)/oom_score_adj
' > /dev/null & ]]
  exec(cmd)
end


上面的keepalive就是每小时需要运行的。
有个注意点是acc进程重启后,无障碍手势需要调用一次才能正常用。上面代码中的tap调用的是无障碍手势。

有人问为什么有root还要用无障碍打包,
因为这个app的定位是 既能在未root的异形屏手机上用,又能给云手机和模拟器用户提供更稳定体验。
代码完全开源的,有兴趣可以看看,记得给star,https://github.com/tkkcc/arknights












回复

使用道具 举报

daxiong666 | 2022-4-13 10:51:57 | 显示全部楼层
大哥,具体命令能发出来不
回复

使用道具 举报

qq9451045 | 2022-4-14 16:04:32 | 显示全部楼层
前排观摩

安卓脚本,苹果脚本
脚本定制接单;自动化操作;手动能完成的都能做;
Q: 9451045
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

31

主题

49

帖子

370

积分

中级会员

Rank: 3Rank: 3

积分
370