一、启动
通过手势启动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():
通过RecentsModel的getTasks()来获取任务列表,然后回到applyLoadPlan()。
在applyLoadPlan()内部,主要执行了四项工作:
- unloadVisibleTaskData():将现有