我爱编程

1. 服务简介

2018-04-12  本文已影响18人  浪花三朵

      服务是 Android 中实现程序后台运行的解决方案。服务的运行不依赖任何的用户界面。服务并不是运行在一个独立的进程当中的,而是依赖于创建服务时所在的应用程序进程。应用程序进程杀掉,服务也会停止。
      另外服务不会自动开启线程,所有代码都是 运行在主线程中的。也就是说要在服务内手动创建子线程,并在子线程内执行相应的逻辑,否则会导致主线程堵塞。

子线程更新UI

      和其他的许多 GUI 库一样,Android 的 UI 也是线程不安全的。也就是说,想要更新 UI 里的元素必须在主线程中进行,否则会出现异常。
      但在实际中操作中可能和《第二行代码》介绍的稍有区别。用 Android 8.0 的真机时,在子线程更新UI元素应用并没有崩溃。

异步消息处理机制

  1. Handler 的异步处理主要有四部分组成。
2.PNG
  1. AsyncTask 处理异步消息
    更好的工具,更方便我们在子线程中进行 UI 操作。十分简单的从子线程中切换到主线程中。
    基本用法:AsyncTask 是一个抽象类,所以必须创建子类去继承他。继承时可以指定三个泛型参数。

同时需要重写他的四个方法:

上一篇 下一篇

猜你喜欢

热点阅读