• 请不要在回答技术问题时复制粘贴 AI 生成的内容
moodasmood
V2EX  ›  程序员

android 长时间执行操作如何设计?

  •  
  •   moodasmood · Jun 16, 2019 · 2728 views
    This topic created in 2701 days ago, the information mentioned may be changed or developed.

    最近在写一个游戏挂机脚本,我设计的是开启一个前台服务,然后在服务里面开一个线程,在线程里面长时间执行挂机操作。但是不知道哪里出了问题,运行 4 5 分钟后 android system 就死掉了,整个安卓系统没反应。请问我这设计哪里有不合理吗?有没有专业的 android 开发指点下。线程里面执行的任务只有点击和截图,我确定这 2 部分的代码没有内存泄漏,在主线程运行都不会造成系统死掉,但是放到服务里的子线程里面运行就会造成系统死掉。

    12 replies  •  2019-06-17 11:43:52 +08:00
    cheniousl
    cheniousl
    Jun 16, 2019 via Android
    1
    似乎后台线程的操作有时间限制
    MoHen9
    MoHen9
    Jun 16, 2019 via Android
    2
    报错了吗?申请权限了吗?怎么开的前台服务?
    Jirajine
    Jirajine
    Jun 16, 2019 via Android
    3
    用 adb 或者 root 提权运行
    moodasmood
    moodasmood
    OP
    Jun 16, 2019
    4
    @MoHen9 没有任何报错,看系统和 app 的内存,cpu,使用也很低
    moodasmood
    moodasmood
    OP
    Jun 16, 2019
    5
    @Jirajine xposed 提权的,应该跟权限没关系吧,我在主线程执行都不会导致系统崩溃,但是在服务里面开线程,然后执行就会导致系统崩溃
    moodasmood
    moodasmood
    OP
    Jun 16, 2019
    6
    @cheniousl Thanks,我去查下
    moodasmood
    moodasmood
    OP
    Jun 16, 2019
    7
    @MoHen9 开启服务,用的 startForegroundService。android9.0,服务里面再绑定前台 NotificationCompat
    pursuer
    pursuer
    Jun 16, 2019
    8
    系统会挂掉我想可能是系统的问题,也可能是 xposed 的问题,毕竟 xposed 在系统里插了桩
    moodasmood
    moodasmood
    OP
    Jun 17, 2019 via Android
    9
    @pursuer 我刚刚用虚拟机测试,发现虚拟机不会崩,这可咋搞,哪里可以看系统日志吗?
    Yyyye
    Yyyye
    Jun 17, 2019
    10
    手机打开 debug , 连 as 或者 adb 查看. 可以把日志发出来看下
    BryanYue
    BryanYue
    Jun 17, 2019
    11
    建议看看 应用保活, 懒得处理直接手动加白名单
    moodasmood
    moodasmood
    OP
    Jun 17, 2019
    12
    @BryanYue 保活?是安卓系统崩溃了,不是应用死了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   669 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1014ms · UTC 20:14 · PVG 04:14 · LAX 12:14 · JFK 15:14
    ♥ Do have faith in what you're doing.