Service生命周期,可以执行耗时操作吗?

转载 2018年04月16日 20:49:40

参照文章:http://blog.csdn.net/hudashi/article/details/7986130


不可以。

Service和activity是运行在当前app所在的main thread(UI主线程)中的,而耗时操作(如:网络请求、拷贝数据、大文件)会阻塞主线程,给用户不好的体验。

Broadcase耗时操作为10秒,Activity耗时操作为5秒
Service耗时操作为20秒


如果需要在服务中进行耗时操作,可以选择IntentService,  IntentService是Service的子类,用来处理异步请求。
IntentService在onCreate()方法中通过HandlerThread单独开启一个线程来处理Intent请求对象所对应的任务,这样可以避免事务处理阻塞主线程。
onHandleIntent()函数针对Intent的不同进行不同的事务处理就可以,执行完一个Intent请求对象所对应的工作之后,如果没有新的Intent请求达到,则自动停止Service; 否则ServiceHandler会取得下一个Intent请求
传入该函数来处理其所对应的任务。



【Android 开发教程】在服务中执行耗时操作

上一节创建的服务实际上并没有做任何有用的事情,这一节将修改一下它,让它去执行一个任务:模拟下载文件。1. 使用上一节的Services工程,做一点修改。public class MyService e...
  • manoel
  • manoel
  • 2013-09-03 15:38:35
  • 11162

Service生命周期,可以执行耗时操作吗?

参照文章:http://blog.csdn.net/hudashi/article/details/7986130 不可以。 Serv...
  • qq_21937107
  • qq_21937107
  • 2018-04-16 20:49:40
  • 90

关于Service中的耗时操作

由于Service和Broadcast一样,都运行在主线程中,所以在这两个里面我们无法做一些长时间的耗时操作,也就是说,如果我们有一个后台服务,是每隔一段时间请求一次服务器,类似于心跳服务,只是没有心...
  • tanghongchang123
  • tanghongchang123
  • 2016-11-25 17:24:14
  • 312

Service 生命周期和使用注意项

1.服务一般分为两种
  • xiaobenqiao
  • xiaobenqiao
  • 2014-08-07 19:39:22
  • 662

service是否在main thread中执行, service里面是否能执行耗时的操作?

service
  • u011319332
  • u011319332
  • 2015-07-21 21:52:04
  • 2221

Service生命周期

按照Google 的官方文档里面提到的:“Service是一个应用程序的组件,它能够在后台之行一些耗时较长的操作,并且不提供用户界面。“此外,应用程序组件还能与Service绑定,并与Service进...
  • china1988s
  • china1988s
  • 2015-11-21 18:54:12
  • 1263

Service简介与生命周期讲解(一)

一、Service的介绍Service 是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定...
  • hello_1s
  • hello_1s
  • 2016-08-03 16:19:48
  • 2129

Service中是否可以执行耗时操作

参照文章:http://blog.csdn.net/hudashi/article/details/7986130 不可以。 Service和activity是运行在当前app所在的m...
  • lichenxia123
  • lichenxia123
  • 2017-01-03 16:00:38
  • 3766

关于Service中的耗时操作

由于Service和Broadcast一样,都运行在主线程中,所以在这两个里面我们无法做一些长时间的耗时操作,也就是说,如果我们有一个后台服务,是每隔一段时间请求一次服务器,类似于心跳服务,只是没有心...
  • zartzwj
  • zartzwj
  • 2014-03-09 21:48:55
  • 4189

深入理解Service(一)——服务生命周期

Service与Activity一样,是Android的四大组件之一。Activity是看得见的,而Service则是看不见的。看得见的Activity一般承担显示界面、控制的功能,而Service则...
  • qq_19431333
  • qq_19431333
  • 2016-12-21 14:52:58
  • 1664
收藏助手
不良信息举报
您举报文章:Service生命周期,可以执行耗时操作吗?
举报原因:
原因补充:

(最多只允许输入30个字)