IntentService的使用

网络请求中的注意事项:
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的使用)