什么是Activity(笔记)

什么是Activity?

An activity is a single, focused thing that the user can do

顾明意思就是activity是用户可与之交互的独立的可以聚焦的东西

也可以通俗的理解成一个UI界面

Android中进程与线程的概念,有何不同之处

在这里重新对任务也进行一个整理描述

任务:是指软件完成的一个活动,一个任务可以是一个进程也可以是一个线程,简言之就是一系列达到某一目的的操作,例如显示一个本地图片等

进程:通常被定义为程序的执行,可以把一个进程看成一个独立的程序,在内存中有着完整的数据空间和代码空间,一个进程所拥有的数据和变量只属于它自己。

线程:某一个进程中单独运行的程序,也就是线程存在于进程中,进程由很多的线程构成,各线程共享相同的代码和全局数据,但是有自己的堆栈

Activity可分为5种进程

1.前台进程

 所谓前台进程就是为了完成当前工作所需要的进程

 -进程中的某个Activity正在与用户进行交互(Activity的onResume()方法被调用)
-绑定到与当前用户正在交互的activity的Service所在的进程
-进程中的某个Service正运行在前台,即这个service的startForeground()方法被调用
-进程中的某个Service正在执行生命周期回调方法(比如,onCreate(),onStart(),或者onDeatroy())
-进程中的BroadcastReceiver正在执行onReceive()方法。

2.可视进程

可视进程指没有前台运行的组件,但仍然对用户的屏幕造成影响

-进程运行的Activity不在前台,但仍然是可见的(调用了onPause()方法)

-进程中的Service绑定到了一个可视(或前台)的activity(该activity已调用了onPause()方法)

3.服务进程

所谓的服务进程,就是指除了上面两种进程外,如果一个进程已经通过startService()方法启动了一个service的进程。

虽然这种service进程跟用户的看到的内容不相关,但它们所做的工作也是用户关心的(比如在后台播放音乐或者正在下载互联网上的资源),

系统会一直保持服务进程,除非系统为了前台进程和可视进程的运行,而不得不杀死服务进程。

4.后台进程

后台进程是指进程中的activity当前对用户来说不可见(这个activity调用了onStop()方法)。

后台进程不会对用户的体验造成任何影响,并且系统可以在前台进程、可视进程、服务继承需要内存资源的时候会杀死后台进程。

通常会有很多后台进程运行,并且这些后台进程保存在一个最近使用列表中,这样做的好处就是保证用户最近看到的进程最后被杀死。

如果一个activity已经正确的实现了生命周期方法,并且保存了当前的状态,那么系统杀死这些后台进程对用户的可视效果来说的话,

没有任何影响,因为当用户返回回来的时候,这个activity已经保存了所有的可视状态。

5.空进程

一个空进程没有任何运行的程序组件。系统保持空进程存在的唯一原因就是为了缓存方面的考虑,这样做主要是为了提高组件的启动时间。

系统经常会杀死这些空进程来保持整个系统资源和内核缓存之间的平衡


Activity 生命周期详情请参考 Activity生命周期












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值