近期列表Recents源码流程简单解析以及ActivityManager的简单使用:

本文详细解析了Android系统中近期列表RecentsActivity的源码流程,包括开机广播接收、RecentsActivity的生命周期及布局解析。同时介绍了ActivityManager的简单使用,如获取运行中的activity和服务,以及如何管理应用进程。
摘要由CSDN通过智能技术生成

android近期列表RecentsActivity的目录在/frameworks/base/packages/SystemUI/

frameworks的修改需要在fastboot模式下烧system.img文件。


首先,接受开机广播

 

处理它的Receiver类是BootReceiver。下面是Receiver的内容:


随后,在广播中开启了LoadAveragService服务。

SystemUiServier 服务也开启了

 

紧接着就是显示界面,主界面是RecentsActivity,首先onCreate(),onStart()

onCreate方法中发现布局文件是


接下来看一下布局文件


发现,基本都是自定义控件。

最下面的id = recents_no_apps,是列表中没有条目的时候才会显示。

查找会发现,这个id只有在RcentsPanelView中使用,接下来先看下:

定义一个View 


如果有apps的时候,就VISIBLE,否则就是INVISIABLE

上面noApps的值得来是根据mRecentTaskDescriptions,这是一个List


每一个app都保存成了一个TaskDescription。接下来看一下TaskDescription


它主要的字段有intent:用于跳转到应用,

    taskId,用于标识的id,比如删除,点击,跳转等使用。

  以及描述,包名等,icon等。。。

接着来查看一下当有信息的时候显示的布局,RecentsAcitvity的大布局是自定义的,实现类是RecentsPanelView


整个列表的大布局又放在了一个FrameLayout布局中,然后列表显示在一个自定义的布局中,实现类是RecentsVerticalScrollView

这个布局之后还有一个LinearLayout

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值