最近任务Recents分析

本文详细探讨了Android中RecentsActivity的启动过程,RecentsView的显示逻辑,包括TaskView的创建、数据绑定以及RecentsModel的数据获取。重点介绍了如何通过RecentsModel获取最近任务列表,TaskView的点击事件处理,以及RecentsTaskList如何加载和更新任务数据。
摘要由CSDN通过智能技术生成

一、启动

通过手势启动RecentsActivity

二、显示:在启动RecentsActivity之后,会显示最近任务列表 

1. RecentsActivity.java:Recents显示Activity

         RecentsActivity继承了StatefulActivity,有些方法实现是在父类里面执行的,在onCreate()里面执行setupViews(),setupViews()中初始化了FallbackRecentsView,FallbackRecentsView继承了RecentsView,主要逻辑都是在RecentsView里面实现的,直接看RecentsView的实现逻辑:

2. RecentsView.java:Recents显示主View

        在构造方法内部,获取了RecentsModel实例,创建了ViewPool实例mTaskViewPool,该mTaskViewPool存储TaskView,对应的layout为 R.layout.task,最大数量为20;

        在RecentsView显示时会回调onAttachedToWindow(),在内部执行了updateTaskStackListenerState(),然后做了一些注册回调操作,当有变化时,会进行回调通知来更新UI;

        在updateTaskStackListenerState()内部会进行一系列条件判断来确定是否执行reloadIfNeeded(),当首次进入时会执行reloadIfNeeded()

        通过RecentsModelgetTasks()来获取任务列表,然后回到applyLoadPlan()

applyLoadPlan()内部,主要执行了四项工作:

  1. unloadVisibleTaskData():将现有
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值