IntentService的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IntentService的使用相关的知识,希望对你有一定的参考价值。

参考技术A 网络请求中的注意事项:
1、在网络请求的调试过程中,不要单步运行,因为这是一个异步才做,单步调试不能走到请求里面,需要设置多个断点,进行调试。

四、IntentService的使用:

1、为什么要用IntentService:
Service 的回调方法(onCreate,onStartCommand,onBind,onDestroy)都是运行在主线程的,通过startService启动Service之后,就需要在onStartCommand方法中完成工作,当执行一些耗时操作时,就会出现ANR问题。所以为解决这个问题,采用IntentService.

2、IntentService的特点:
①IntentService自带一个线程,当Service需要做一些可能会阻塞主线程的工作时,就考虑使用IntentService.
②需要做的实际工作是放在IntentService中的onHandleIntent(Intent intent)方法中,运用这里传入的intent去做实际的操作,onHandleIntent执行在IntentService所持有的工作线程中,不是主线程。
③当startService多次启动了IntentService,就会产生多个Job.IntentService仅仅持有一个工作线程,所以只能一个一个的去处理,这些任务是以队列的形式去执行。

3、对于IntentService的使用:
①新建一个Java.class继承IntentService,实现其中需要重写的方法,特别是onHandleIntent(Intent intent).
②通过Intent中的携带的参数,去执行某些耗时操作。
③在Activity或者Fragment中去存入执行耗时操作时需要用的值。

以上是关于IntentService的使用的主要内容,如果未能解决你的问题,请参考以下文章

IntentService 源码分析

IntentService 源码分析

IntentService的使用

Android中使用IntentService运行后台任务

Android中使用IntentService运行后台任务

如何使用 Intentservice 获取位置信息?