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

2019-06-16 18:10:51 +08:00
 moodasmood

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

1813 次点击
所在节点    程序员
12 条回复
cheniousl
2019-06-16 18:15:52 +08:00
似乎后台线程的操作有时间限制
MoHen9
2019-06-16 18:32:15 +08:00
报错了吗?申请权限了吗?怎么开的前台服务?
Jirajine
2019-06-16 18:48:04 +08:00
用 adb 或者 root 提权运行
moodasmood
2019-06-16 18:50:35 +08:00
@MoHen9 没有任何报错,看系统和 app 的内存,cpu,使用也很低
moodasmood
2019-06-16 18:51:34 +08:00
@Jirajine xposed 提权的,应该跟权限没关系吧,我在主线程执行都不会导致系统崩溃,但是在服务里面开线程,然后执行就会导致系统崩溃
moodasmood
2019-06-16 18:52:01 +08:00
@cheniousl Thanks,我去查下
moodasmood
2019-06-16 18:54:31 +08:00
@MoHen9 开启服务,用的 startForegroundService。android9.0,服务里面再绑定前台 NotificationCompat
pursuer
2019-06-16 19:27:24 +08:00
系统会挂掉我想可能是系统的问题,也可能是 xposed 的问题,毕竟 xposed 在系统里插了桩
moodasmood
2019-06-17 00:16:50 +08:00
@pursuer 我刚刚用虚拟机测试,发现虚拟机不会崩,这可咋搞,哪里可以看系统日志吗?
Yyyye
2019-06-17 01:56:36 +08:00
手机打开 debug , 连 as 或者 adb 查看. 可以把日志发出来看下
BryanYue
2019-06-17 10:34:21 +08:00
建议看看 应用保活, 懒得处理直接手动加白名单
moodasmood
2019-06-17 11:43:52 +08:00
@BryanYue 保活?是安卓系统崩溃了,不是应用死了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/574488

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX