什么是进程和线程

前言

进程和线程很容易理解,计算机中有一个进程管理器,打开后,会显示当前运行的所有程序。同样在Android 中也有进程,当某个组件第一次运行的时候,Android 会启动一个进程。在默认情况下,所有的组件和程序运行在这个进程和线程中,也可以安排组件在其他的进程或者线程中运行。

1、什么是进程

组件运行的进程是由manifest file 控制的。组件的节点一般都包含一个process属性,例如、、、节点。属性process可以设置组件运行的进程,可以配置组件在一个独立进程中运行,或者多个组件在同一个进程中运行,甚至可以多个程序在一个进程中运行,当然前提是这些程序共享一个User ID 并给定同样的权限。另外节点也包含了progress属性,用来设置程序所有组件的默认进程。
当更加常用的进程无法获取足够的内存时,Android 会智能地关闭不常用的进程。当下次启动程序的时候会重启东这些进程。当决定哪个进程需要被关闭的额时候,Android会考虑哪个对用户更加有用。例如Android后秦翔宇关闭一个长期不显示在界面的进程来支持一个经常显示在界面的进程。是否关闭一个进程决定于组件在进程中的状态。

2 什么是线程

当用户界面需要很快对用户进行响应,就需要将一些费时的操作,如网络连接、下载或者非常占用服务器时间的操作等放到其他的线程。也就是说,即使为组件分配了不同的进程,有时候也需要在分配线程
线程是通过java的标准对象Thread 来创建的,在Android 中提供了如下方便地管理线程的方法:
2.1 Looper 在线程中运行一个消息循环
2.2 Handler 传递一个消息
2.3 HandlerThread 创建一个带有消息循环的线程
2.4 Android 让一个应用程序在单独的线程中,知道它创建自己的线程
2.5 应用程序组件(Activity、Service、Broadcast receiver)所有都在理想的主线程中实例化;
2.6 当被系统调用时,没有一个组件应该执行长时间或是阻塞操作(例如网络呼叫或是计算循环),这将中断所有在该进程的其他组件
2.7 可以创建一个新的线程来执行长期操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值