为了账号安全,请及时绑定邮箱和手机立即绑定

Android运行正确的后台操作

Android运行正确的后台操作

潇潇雨雨 2021-05-12 16:05:07
如何在不导致内存泄漏或阻塞其他线程的情况下正确运行后台操作?我第一次使用asynctask,但是它使用了一个线程池,该线程池在后台执行5个任务后会阻塞,并且传递弱引用不能解决内存泄漏的问题。因此,我需要在客户端和服务器之间传输数据。我认为我应该使用实现的类Runnable,并在活动中以ExecutorService(singleThreadExecutor)启动可运行对象。然后我打电话给提交。我需要从中获取“ Future” ExecutorService,才能取消Activity调用中的Thread onStop()。如果有人对此有更好的解决方案,请帮助我。要求是它应该阻塞其他线程,并且如果活动被破坏,我应该可以取消。
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

我认为AsyncTask是处理线程的最佳方法。我不知道您要执行哪种操作,但是请检查意向服务

Runnable在主线程上运行,因此,如果您的活动死亡,它也会死亡,或者您可以擦除堆栈处理程序.removeCallbacksAndMessages(null);。

与线程一起玩可能会很棘手,请注意您所做的事情:)

在这种情况下,您需要建立一个循环来检查中断的异常:)


查看完整回答
反对 回复 2021-05-26
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信