美文网首页
进程和线程

进程和线程

作者: 小贱嘎嘎 | 来源:发表于2017-09-07 11:26 被阅读0次

进程

默认情况下,同一个APP的所有组件应该运行在同一个进程下。然而,如果我们有特殊需求的话可以在manifest文件中修改组件运行的进程。

  • manifest为四大组件都提供了android:process属性,这个属性指定了某个组件应该在哪个进程上运行。通过设置这个属性我们可以让所有进程运行在同一个进程中或者某些组件在一个进程而其他的在另外一个进程。也可以让不同APP运行在同一个进程中。
  • manifest文件的application节点也提供了android:process属性,此时设置的是这个APP的所有组件运行的进程。
  • Android会在某些特殊情况下杀死进程,譬如说内存不足的情况下其他直接服务于用户的进程请求内存时。进程被杀死时进程中所有运行的组件也被销毁。当用户再次回到这些组件时会重新启动一个进程。

线程

当一个APP启动时,系统会为APP创建一个执行线程(称为主线程)。这个线程被用来为UI分发事件,包括绘制事件。因此主线程也叫做UI线程。然而,在某些特殊情况下,主线程可能不是UI线程。
系统不会为每一个组件都创建一个单独的线程。所有运行在同一个进程中的组件都在UI线程中实例化,所有的UI操作都在主线程中进行。所以在主线程中不能执行类似网络请求和数据库操作等长时间的操作,否则系统会卡住并且如果卡住超过5秒便会弹出ANR对话框。
因此有两条十分重要的原则:

  • 永远不要阻塞UI线程。
  • 必须在UI线程中操作View。

相关文章

  • 线程和进程概念

    线程和进程 进程 线程 线程和进程的区别

  • 17_多线程

    =================线程和进程 =============进程 =============线程 ==...

  • OC-底层原理 23:多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • iOS 多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • 线程

    线程和进程 进程 线程 线程和进程的区别 线程的好处和坏处 创建线程的方式一 线程中常用的方法 代码实例 创建线程...

  • iOS底层原理24:多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程和进程 线程和进程的定义 线程 线程是进程的基...

  • 多线程

    线程和进程的概念: 进程:正在运行的应用就是一个进程线程:进程中执行每个任务的是线程 进程和线程的关系: 一个进程...

  • 面试复习——Android工程师之Java面试题

    1、进程和线程 地址空间和其他资源:进程间相互独立,进程中包括多个线程,线程间共享进程资源,某进程内的线程在其他进...

  • 多线程介绍

    线程和进程 线程和进程的定义 线程:线程是进程的基本执行单元,一个进程的所有任务都在线程中执行进程要想执行任务,必...

  • 多线程编程GCD(基础知识)

    GCD 多线程编程 1.线程和进程 1.1 线程:线程是进程的基本单元,进程中所有要执行的任务,都在线程和进程中执...

网友评论

      本文标题:进程和线程

      本文链接:https://www.haomeiwen.com/subject/mhobjxtx.html