服务的简介:Android四大基本组件之一,没有图形用户界面,总是在后台执行耗时操作。

服务的生命周期:onCreate onStartCommand onDestroy onBind

本地服务:onStartCommand

服务的停止:
stopService
stopSelf
1.stopSelf()
2.stopSelf(id)

开始服务

public class MainActivity extends AppCompatActivity {private Intent intent;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);intent = new Intent(this,MyServices.class);}public void start(View view){intent.putExtra("data","下载的路径");startService(intent);}public void stop(View view){stopService(intent);}}

service:

public class MyServices extends Service {@Nullable@Overridepublic IBinder onBind(Intent intent) {Log.i("test","onBind");return null;}@Overridepublic void onCreate() {super.onCreate();Log.i("test","onCreate");}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {String data=intent.getStringExtra("data");Log.i("test","onStartCommand,"+data);new MyThread(startId).start();return super.onStartCommand(intent, flags, startId);}class MyThread extends Thread{private int startId;public MyThread(int startId) {this.startId = startId;}@Overridepublic void run() {super.run();//耗时操作for (int i = 0; i <10 ; i++) {Log.i("test","i="+i);SystemClock.sleep(1000);}//停止服务//stopSelf();//当第一个线程执行完毕,则会停止服务//所有的线程都执行完毕,才停止服务stopSelf(startId);}}@Overridepublic void onDestroy() {super.onDestroy();Log.i("test","onDestroy");}
}

当主线程操作耗时操作时项目报错(ANR: application not responsing应用程序未响应),解决方法:把耗时操作写到子线程里即可。

服务跟线程的区别(我所理解的):线程死了就是死了,然而服务死了还可以活。(将军与士兵)

在清单文件配置自己所写的服务:

<service android:name=".MyServices"android:exported="true">
</service>

IntentService:

public class MyServices2 extends IntentService {public MyServices2() {super("");}public MyServices2(String name) {super(name);}//类似Service中的:onStartCommand@Overrideprotected void onHandleIntent(Intent intent) {for (int i = 0; i <10 ; i++) {Log.i("test","i="+i);SystemClock.sleep(200);}}
}

不需要写线程,因为里面有异步任务类,并且呈有序排列,内部有消息队列

服务(service)-----本地服务相关推荐

  1. Windows 服务介绍(本地系统、网络服务、本地服务以及相关的power shell命令

    一.Windows服务概述 服务与进程 Windows服务是指系统自动完成的,不需要和用户交互的过程,可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何 ...

  2. andorid service 本地服务

    ActivityManifect.xml <?xml version="1.0" encoding="utf-8"?> <manifest x ...

  3. 绑定服务调用本地服务中的方法

    如果想调用服务中的方法, 通过startService()是做不到的, 这时需要用bindService来解决. 下面的demo是在Activity中调用Service中的自定义方法---method ...

  4. android学习笔记---40_建立能与访问者进行相互通信的本地服务,后台运行的service

    40_建立能与访问者进行相互通信的本地服务 ------------------------------------------- 1.本地服务:如果服务和访问者在一个进程中那么就叫做本地服务.   ...

  5. windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改

    以一个redis服务为例: 一个redis注册服务后一般是网络服务账户,但是当系统不存在网络服务账户时,就会导致redis服务无法正常启动.接下来修改redis服务的登录身份. cmd下输入如下命令: ...

  6. 无法启动 Diagnostic Policy Service(服务错误 1079)的解决方案

    问题 在services.msc中手动启动 Diagnostic Policy Service 时,弹出以下提示: --------------------------- 服务 ----------- ...

  7. 工作流编程循序渐进(9:使用本地服务在宿主和工作流之间通信)

    工作流编程循序渐进(9:使用本地服务在宿主和工作流之间通信) 作者  朱先忠 [摘要]       在本篇中,首先详细分析本地服务有关概念,探讨本地服务在工作流运行时.工作流实例及工作流宿主间的地位及 ...

  8. android service 本地 远程 总结

    android编写Service入门 android SDK提供了Service,用于类似*nix守护进程或者windows的服务. Service有两种类型: 本地服务(Local Service) ...

  9. 重启服务器后磁盘显示空余变大,(已解决)开机后发现服务中Superfetch服务项会导致磁盘利用率在85%以上,重启后依旧...

    在开机后发现磁盘利用率90%~100%之间(家庭组已经停用),后来发现服务项中Superfetch服务项在停用后,磁盘利用率恢复正常,请问该项目应该如何处理,如果禁用后对系统有什么影响? 使用的系统为 ...

最新文章

  1. 前端开发必备的 5 个「高薪」技能
  2. vs2015 企业版、专业版如何破解(秘钥)
  3. 让织梦CMS的后台编辑器支持优酷视频
  4. C++ 使用copy_if获得数组vector掩膜
  5. python 去掉文件头部几行_批量重命名文件的python代码
  6. 关于Excel和Csv导入和导出工具使用
  7. GPT v.s. 中国象棋:写过文章解过题,要不再来下盘棋?
  8. 速递|2021双11阿里云数据库技术快报
  9. hihocoder #1388 : Periodic Signal NTTFFT
  10. python django开发工具_利用pyCharm编辑器创建Django项目开发环境-python开发工具第一篇...
  11. 少儿编程:C++绘图相关书籍篇
  12. qt linux 国际化,多语言,配置CLion管理Qt项目国际化支持
  13. Python基础----集合
  14. FastDFS安装脚本
  15. 告诉你我身边很多的聪明人,怎样利用科技产品挣钱
  16. 基于MediaTek_ApSoC_SDK_4320_20150414 编译mt7621 的uboot
  17. 遍历vad二叉树来遍历进程里的模块
  18. TCP粘包是什么?如何处理?UDP有粘包吗?
  19. 【深度学习(李沐)】
  20. 磷酸铁锂电池充电过压保护

热门文章

  1. Ubuntu Desktop 软件源
  2. linux 查看tdagent进程,Fluentd (td-agent) 日志收集系統
  3. 20155328 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
  4. ubuntu 18下载福昕pdf编辑器
  5. 中兴N760不断重启解决办法
  6. c#工具类库 下载地址
  7. 逐浪海棠居刻本字-第一款基于unicode13标准构建的中文字库
  8. 图瓦软件:AVEVA PDMSE3D三维实体管道支吊架介绍
  9. 图像处理45-grabCut图像分割
  10. curl/wget 模拟发送post请求