`
touzilicai
  • 浏览: 6717 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

android : 深入理解service和intentservice

阅读更多
service就是后台运行的东东,它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小哦。
以前做过音乐播放器,你把播放放在service而是放在java类是不对的,因为java处于后台的时候优先级低,容易被回收,因此播放会意外终止

说几点service特性
1. service分本地(此时和acivity都在进程的主线程,因此耗时操作必须单独起线程,不然会ANR)和远程, 本地的就是和主应用在一个进程内,远程的在不同进程
2. startService()和bindService()分别什么时候用呢,其实从名字大概也能看出,前者是启动一个服务端,让他自己干活,直到调stopService才推出,后者是要绑定一个服务,既然是绑定,肯定希望得到一些东西,比如访问数据或者方法(绑定成功后回调通过onServiceConnected,就能拿到binder和service对象),所有只有绑定的时候,以下方法才有意义
IBinder onBind(Intent intent)
boolean onUnbind(Intent intent)
void onRebind(Intent intent)


3. 可以绑定一个已经通过startService()方法启动的服务。例如:一个后台播放音乐服务可以通过startService(intend)对象来播放音乐。可能用户在播放过程中要执行一些操作比如获取歌曲的一些信息,此时activity可以通过调用bindServices()方法与Service建立连接。这种情况下,stopServices()方法实际上不会停止服务,直到最后一次unbind。



IntentService看这篇文章http://blog.csdn.net/ryantang03/article/details/8146154,总结几点 :
1. 内有一工作线程来处理耗时操作,这就代替了在service中启动thread处理耗时操作的行为
2. 执行完自己退出,无需手动干预
3. 可以启动IntentService多次,而每一个耗时操作会以工作队列的方式在IntentService的onHandleIntent回调方法中执行,并且,每次只会执行一个工作线程,执行完第一个再执行第二个,如果自己启动多个线程还要手动控制
4.适合于后台执行完就退出的场景,而不是常驻service,歌曲批量下载适合该场景
分享到:
评论

相关推荐

    spring java图片上传源码.rar

    源码实现了图片上传功能,可供相关功能开发的小伙伴参考学习使用。

    新入职员工工作总结范文大全(篇).docx

    工作总结,新年计划,岗位总结,工作汇报,个人总结,述职报告,范文下载,新年总结,新建计划。

    本项目内容为《SpringBoot 2.X 基础教程》配套源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    IMG_20240426_195457.jpg

    IMG_20240426_195457.jpg

    培训看版.xlsx

    Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示

    A Confidence-Guided Automated System for Non-emergency Calls.pdf

    A Confidence-Guided Automated System for Non-emergency Calls.pdf

    用于快速反馈控制律优化的梯度丰富机器学习控制matlab代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    杭州电子科技大学数据结构数据结构讲义.pdf

    杭州电子科技大学,期末考试资料,计算机专业期末考试试卷,试卷及答案,数据结构。

    对保险业中人工智能的监管: 平衡消费者保护与创新.pdf

    对保险业中人工智能的监管: 平衡消费者保护与创新.pdf

    重庆大学电磁场原理10年考题(a卷)答案及评分标准.pdf

    重庆大学期末考试试卷,重大期末考试试题,试题及答案

    银行软件作业代码示例20240426

    震惊,师专男大竟然在夜深人静的夜晚写下了这些普通人都看不懂的东西,内容是...

    导航软件iApp源码V3+配置教程

    一款支持侧边导航栏的网页导航APP源码,风格简约为主,可以通过远程文档进行远程控制列表,浏览器拥有检测下载的功能。,配置较为简单,适合入门小白学习参考。 导航软件iApp源码V3+配置教程 配置教程在mian.iyu的载入事件里面

    基于CNN模型实现土壤湿度检测-数据集和完整代码.rar

    该数据集和完整代码主要实现《基于CNN模型实现土壤湿度检测》,适用于正在学习深度学习、神经网络以及计算机、农业自动化等相关专业的伙伴们。在现代农业和环境监测中,研究土壤湿度数据来预测未来的湿度趋势十分重要。资源中的CNN模型可能仍不够完善,大家可以继续修改完善,不断研究其他的内容。感谢大家的支持和交流,你们的支持也是我前进的十足动力!

    重庆大学数字电子技术试卷2007-2008(1)答案.pdf

    重庆大学期末考试试卷,重大期末考试试题,试题及答案

    mlab-upenn 研究小组的心脏模型模拟.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    【基于Springboot+Vue的Java毕业设计】银行账目账户管理系统项目实战(源码+录像演示+说明).rar

    【基于Springboot+Vue的Java毕业设计】银行账目账户管理系统项目实战(源码+录像演示+说明).rar 【项目技术】 开发语言:Java 框架:Spingboot+vue 架构:B/S 数据库:mysql 【演示视频-编号:305】 https://pan.quark.cn/s/8dea014f4d36 【实现功能】 用户信息管理,存取业务管理,公告信息管理,挂失信息管理,账户信息管理等

    年公司财务会计岗位工作总结(一).docx

    工作总结,新年计划,岗位总结,工作汇报,个人总结,述职报告,范文下载,新年总结,新建计划。

    智能机械装备制造信息化整体解决方案.pptx

    智能机械装备制造信息化整体解决方案.pptx

    杭州电子科技大学学生复习卷及部分答案.pdf

    杭州电子科技大学,期末考试资料,计算机专业期末考试试卷,试卷及答案,数据结构。

    Unity Asset Quantum Console v2.6.3

    Unity在打包后仍能看到控制台输出,甚至通过命令调用绑定好的函数,调试游戏的强大助手!

Global site tag (gtag.js) - Google Analytics