Android运行正确的后台操作

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


潇潇雨雨
浏览 112回答 1
1回答

繁华开满天机

我认为AsyncTask是处理线程的最佳方法。我不知道您要执行哪种操作,但是请检查意向服务Runnable在主线程上运行,因此,如果您的活动死亡,它也会死亡,或者您可以擦除堆栈处理程序.removeCallbacksAndMessages(null);。与线程一起玩可能会很棘手,请注意您所做的事情:)在这种情况下,您需要建立一个循环来检查中断的异常:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java