位置: 编程技术 - 正文

夯实基础:Service(夯实基础怎么读)

编辑:rootadmin
什么是 Service?

推荐整理分享夯实基础:Service(夯实基础怎么读),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:夯实基础的意思是什么,夯实基础,厚积薄发,夯实基础读hang还是ben,夯实基础的意思是什么,夯实基础的意思是什么,夯实基础怎么读,夯实基础的意思是什么,夯实基础的意思是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

一如既往,从官方解释开始:Service 是 Android 应用中的组件,其使用场景如下:

应用想要执行一个不需要与用户进行交互的持续运行的操作为其他应用提供功能

A Service is an application component representing either an application’s desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use.

可能很多人看到这里会感觉 Service 很像进程/线程,但实际上 Service 既不是进程也不是线程。因为:

除非开发者让 Service 运行在某个进程中,通常情况下,Service 都会运行在应用所在的进程中。

让 Service 成为远程服务则会另开一个进程,一般用作提供系统服务,而且实现会比较麻烦,因为需要用 AIDL 通过 IPC 进行通信。

Service 不是线程,因为 Service 就运行在主线程中,我们可以把 Service 当成是 Android 的一种机制

注:但 Service 的子类 IntentService 则另开了一个 worker 线程完成相应的任务,IntentService 内部有一个消息队列和消息管理器。所以对于异步的 Service 请求,IntentService 能够通过消息队列按序处理请求,并且每一个请求都在非主线程 - worker 线程中被处理,不会对主线程造成影响。

Service 的特性

Service 能够与系统进行通信。Service 通过 Context.startService() 方法告知系统 Service 想要在后台执行的任务(即便这个任务不是由用户产生),而后系统将执行该任务,直到该 Service 被停止(可能是通过代码完成,也可能是直接关闭了应用的进程,或者其他……)

Service 能够为其他应用提供功能。应用通过 Context.bindService() 与 Service 建立长期连接,进行交互,让 Service 的功能模块帮助自己完成某些任务

Service 的生命周期夯实基础:Service(夯实基础怎么读)

首先看看官方的图吧:

Service 有两种启动方法:startService() 方法和 bindService() 方法,虽然具体实现不太相似,但启动-关闭过程是一样的。值得注意的是,无论你调用 startService() 方法多少次,只要调用 Context.stopService() 方法或 stopSelf() 方法,Service 就会被终止。那 Service 中的任务还没执行就被终止了咋办?莫慌,Service 的 stopSelf() 方法可以让 Service 被处理之后才被终止。

还有一点就是,onCreate() 方法并不是一定会执行,如果 Service 已经存在,就不会执行 onCreate() 方法创建 Service,而是直接执行 Service 的 onStartCommand() 方法,启动 Service 执行相关任务。

Service 的使用

下面是一个最最最简单的范例:

注意事项

Service 有时候会被系统杀掉(可能是因为内存不够、也可能是被各种手机卫士杀了),而 Service 可能跟某些功能相关,杀掉之后功能就不能用了。那么我们要咋办呢?

提高 Service 的优先级:可以在 AndroidManifest.xml 中对通过 android:priority = “” 属性将 Service 的优先级设置为最高;当然了,将 Service 通过 setForeground() 方法设置为前台任务也可以提高优先级

使用 AIDL 进行跨进程通信,通过另一个进程的 BroadcastReceiver 发送广播,保证你的 Service 始终存在(杀死则通过广播重启)

在 Service 的 onDestroy() 方法内重启 Service

Android APK反编译 前言为什么需要APK反编译?是因为我们在平时开发APK的过程中,可能会遇到一些功能不知如何实现,但是有的软件已经实现了该功能,但是没有开源。

重写SimpleAdapter的getView以实现按钮点击响应 SimpleAdapter是四个适配器里最重要的适配器,它不仅实现了数据的绑定,而且可以自定义控件。在自定义控件时,如果使用了按钮、复选框、单选框等需

Android------绑定本地Service并与之通信 绑定本地Service并与之通信:应当使用bindService和unbindService方法启动、关闭Service。bindService(Intentservice,ServiceConnectionconn,intflags);解释参数:service:该参数

标签: 夯实基础怎么读

本文链接地址:https://www.jiuchutong.com/biancheng/381073.html 转载请保留说明!

上一篇:Android---41---Service简介

下一篇:Android APK反编译(手机端apk反编译工具_android反编译工具)

  • 核定征收的一般纳税人开专票怎么入账
  • 怎样确认个人所得税专项扣除操作流程
  • 资金账簿印花税和营业账簿的区别
  • 个人所得税的纳税方式有哪几种
  • 税盘维护费抵扣
  • 公司贷款可以转私人吗
  • 银行汇票可以异地跨行使用吗
  • 小企业会计准则适用于哪些企业
  • 外贸企业出口退税账务处理
  • 公司转让房产如何交税
  • 软件分几次开票怎么入账
  • 分配结转制造费用会计分录怎么写?
  • 普票红冲部分金额的发票怎么开
  • 关税不可以抵扣吗
  • 小规模季度超过30万是全额纳税吗
  • 替票和代票的区别是什么
  • 加速折旧税收优惠
  • 简易征收货物的运费
  • 公司不动产管理办法
  • 资产负债表日是什么意思
  • 外币报表折算差额怎么算
  • 公司给供电局转账违法吗
  • 材料卸车费可计入人工费吗
  • 金蝶怎样取消结账
  • 旅行社开的发票是否都要差额征税
  • 加油卡充值开票怎么开
  • 投资收益亏损后会怎么样
  • 对公账户一直没有流水怎么办
  • vue3.0组件库
  • 修改apache的http服务端口为8080
  • 筹建期间费用计什么科目
  • newdot.exe - newdot是什么进程 有什么用
  • 对于接受捐赠的固定资产,其成本应当依次按照
  • 减免的税款还用做分录吗
  • 向国外个人支付的佣金是否缴纳个人所得税
  • 预收账款为什么不属于金融负债
  • myfastupdate.exe - myfastupdate是什么进程文件 有什么用
  • 哪些属于政府补贴
  • vue-router.esm.js?a12b:2046 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation
  • php中验证码如何实现登录验证
  • 一般纳税人企业所得税如何计算
  • php匿名函数和回调函数
  • 我的十年怎么写
  • node express安装
  • 什么是跨域以及解决方法
  • 当天的电子发票怎么开
  • 培训费属于什么税收分类编码
  • 矿产资源补偿费属于管理费用吗
  • 房地产个税是什么意思
  • 直接材料成本总差异怎么算
  • 金蝶财务软件怎么冲销费用
  • 会计差错更正的会计处理方法
  • 信用卡刷卡手续费是谁收取的
  • 医院收费票据可以入账吗
  • 总公司是一般纳税人分公司是什么
  • 展览费计入管理费用吗
  • 营业利润率公式计算公式
  • 安装好sql2000后安装sp4
  • linux中sed详细用法
  • linux系统百科
  • linux常用命令修改
  • 如何更改桌面文件存放位置
  • Windows7更改用户名
  • wincomm.exe - wincomm是什么进程
  • centos发送http请求
  • linux的samba是什么
  • win7升级到win10有无影响
  • win7系统桌面图标不见了怎么办
  • Interlnk、Intersvr、Qbasic命令的使用方法
  • perl编程
  • javascript字体属性
  • a标签的href和onclick
  • jquery技巧
  • 批处理 重命名
  • ug10避让怎么设置
  • jquery实现图片横向移动
  • 电子税务局打印发票提示本机未检测到
  • 福建社保官方网站
  • 社保信息怎么补全
  • 交完了契税后可以办房产证吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设