[发明专利]一种用于Android系统上快速加载Activity数据的方法和装置有效
| 申请号: | 201410385063.3 | 申请日: | 2014-08-06 |
| 公开(公告)号: | CN105446755B | 公开(公告)日: | 2019-01-08 |
| 发明(设计)人: | 江翔 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/451 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基本元素 页面 页面数据 加载 控件 方法和装置 异步加载 调用 绘制 用户界面组件 触发组件 返回结果 函数发生 任务完成 异步请求 完成时 申请 填充 封装 | ||
本申请公开了一种用于Android系统上快速加载Activity数据的方法和装置。其中所述用于Android系统上快速加载Activity数据的方法包括:用户界面组件封装Activity的页面非基本元素显示控件并启动Activity;在调用onCreate函数时,启动异步加载页面数据任务;绘制页面基本元素;调用onWindowFocusChanged函数发生或完成时且异步加载页面数据任务完成,触发组件绘制页面非基本元素显示控件,并将页面数据填充到页面非基本元素显示控件。采用本申请提供的方法,能够实现打开Activity,能迅速的看到页面基本元素,将异步请求返回结果等页面非基本元素快速展现给用户。
技术领域
本申请涉及智能终端界面显示领域,具体涉及一种用于Android系统上快速加载Activity数据的方法和装置。
背景技术
Activity是Android组件中最基本也是最为常用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。Activity是一个应用程序组件,它为用户提供一个可视的界面,方便用户操作,比如拔打电话、照相、发邮件或者是浏览地图等。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听用户的事件并作出相应的响应。
在Android的官方文档中,一个Activity的生命周期如图1所示。Activity在页面被打开后调用onCreate函数,之后调用onStart函数、onResume函数完成页面的绘制,并最终展现给用户。从页面打开之后到页面最终展现,用户必须等待所有的绘制操作完成。如果绘制耗时较长,则导致页面最终呈现的时机延后。通常,Android中一个Activity页面包含有基本展现元素如标题、导航等,同时也可能包含详细数据展现模块。引起页面绘制时间较长的通常是包含详细数据的展现模块,而造成详细数据展现模块绘制耗时的问题有两种:1、页面数据的获取耗时;2、页面组件的绘制耗时。针对第一个问题,目前Android系统推荐使用AsyncTask控件、LoaderManager控件来异步请求页面数据,数据加载完成之后会返回到UI主线程,之后将对应的数据显示在页面上即可。第二个问题,通常跟随在第一个问题之后,目前Android提供了ViewStub控件,应用可在异步请求数据返回时,完成ViewStub控件的绘制操作,并将对应的页面数据设置到控件展现给用户。
在实际的应用场景中,Activity提供了另外一个函数onWindowFocusChanged,在该函数第一次被调用之后,一个Activity才真正对用户可见。上面提到的AsyncTask控件、LoaderManager控件请求完异步数据后返回到UI主线程的时机是无法控制的。当异步数据请求较快时,异步数据返回到UI主线程的时机就会出现在onResume函数与onWindowFocusChanged函数之间,此时当上述的第二个问题存在时,因页面此时尚未展现给用户,耗时的绘制操作就会将页面最终呈现给用户的时机延后。而如果在onWindowFocusChanged函数之后再启用AsyncTask控件或LoaderManager控件,就会将用户看到详细内容的时机延后。
由于现有技术方案中,控件异步请求完成后返回到UI主线程的时机是无法控制的,且异步数据请求完成后,就会马上将数据发送到UI主线程进行绘制操作。同时根据Android官方Activity的生命周期管理,UI主线程接收到绘制的请求很可能就在onResume函数执行完成之后,此时页面还没有完全展现给用户,在此时机做绘制操作就会延迟用户看到页面的时间。
发明内容
本申请提供一种用于Android系统上快速加载Activity数据的方法和装置,以解决Android系统上延迟加载Activity数据的问题。
本申请提供一种用于Android系统上快速加载Activity数据的方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410385063.3/2.html,转载请声明来源钻瓜专利网。





