在1月9号晚体验了小程序之后,我使用魅族手机清除当前已经开启的应用(多任务列表)的时候,我惊奇发现小程序居然“独立”于微信有自己的“生命周期”。
如下:
图中的 查地铁,摩拜单车 都是开启的小程序。这样的效果是不是和独立的app一样呢!我是觉得简直一模一样!
出于好奇,查阅相关资料(见文末参考文献)
初步分析如下:
小程序和微信就是显示在系统的任务列表也就是开启的任务缩略图那里,如上图列出的就是最近启动过的任务缩略图。那么研究思路就有了:找出这个缩略图的形成过程就能找到答案了。其中有两个重要的类如下:
// Recent apps
private RecentsPanelView mRecentsPanel;
private RecentTasksLoader mRecentTasksLoader;
RecentTasksLoader.java 部份代码如下
// return a snapshot of the current list of recent apps
ArrayList<TaskDescription> getRecentTasks() {
cancelLoadingThumbnails();
ArrayList<TaskDescription> tasks = new ArrayList<TaskDescription>();
final PackageManager pm = mContext.getPackageManager();
final ActivityManager am =