基于安卓应用生命周期的资源调度动态管理方法及装置制造方法及图纸

技术编号:40293680 阅读:23 留言:0更新日期:2024-02-07 20:43
本发明专利技术涉及安卓应用中资源调度管理领域,具体涉及一种基于安卓应用生命周期的资源调度动态管理方法及装置,实现了资源的有效调度管理。方案包括Activity动态管理:通过一个全局单例的共享类,在应用的初始化入口注册Activity生命周期的监听,监听所有Activity的生命活动,保存其状态,该共享类对Activity的每一个生命周期事件定义一个枚举值,当生命周期发生变化时,发出该事件的通知,当应用的任何地方收到相关事件,则用来判断是否需要主动释放资源;Handle动态管理:将Handle与当前页面绑定,当页面销毁时,清理掉Handle中未处理完的任务,释放资源;Service动态管理:Service分为启动状态与绑定状态,启动状态执行后台计算,绑定状态与其他组件进行交互;本发明专利技术适用于安卓应用资源调度管理。

【技术实现步骤摘要】

本专利技术涉及安卓应用中资源调度管理领域,具体涉及一种基于安卓应用生命周期的资源调度动态管理方法及装置


技术介绍

1、在现有安卓应用开发技术中,应用的生命周期以及资源调度几乎完全依赖于系统的管理机制。

2、系统为每一个应用运行时分配内存空间,这个内存空间会随着应用在运行时的需要进行动态调整。每个应用所能向系统申请的内存空间是有限的,系统会根据硬件的配置以及厂商的定制设定一个阈值,当应用所需要的内存空间接近阈值时,系统就会启动垃圾回收机制,把一些空闲的内存资源回收掉,从而达到应用在运行时内存空间的一个动态平衡。

3、但是在一些复杂的业务场景中,应用程序的资源调度会很频繁,无法进行资源的有效调度管理,尤其是一些重度使用的资源,如外部硬件通信、磁盘io读写的等,系统管理机制难以快速响应,导致内存溢出、操作卡顿、耗电异常等一些列问题。


技术实现思路

1、本专利技术的目的在于克服现有技术的缺点,提供一种基于安卓应用生命周期的资源调度动态管理方法及装置,实现了资源的有效调度管理,提高了应用操作的流程度。

2、本专利技术采取如下技术方案实现上述目的,一方面,本专利技术提供一种基于安卓应用生命周期的资源调度动态管理方法,所述方法包括:

3、activity动态管理:通过一个全局单例的共享类,在应用的初始化入口注册activity生命周期的监听,监听所有activity的生命活动,并保存其状态,该共享类对activity的每一个生命周期事件定义一个枚举值,当生命周期发生变化时,发出该事件的通知,当应用的任何地方收到相关事件,则用来判断是否需要主动释放资源;

4、handle动态管理:将handle与当前页面绑定,用来处理异步任务回传的消息数据,当页面销毁时,清理掉handle中未处理完的任务,释放资源;

5、service动态管理:service分为启动状态与绑定状态,启动状态执行后台计算,绑定状态与其他组件进行交互;

6、当service和界面组件绑定时,service的生命周期与界面的生命周期保持一致,通过监听界面组件的生命周期,在界面组件销毁时,关闭后台service,释放资源。

7、进一步的是,service动态管理还包括:

8、对于脱离了界面组件的service,通过在service中长时间运行的任务状态来管理service的生命周期,当耗时任务执行完毕,关闭后台service,对应的,当service的生命周期销毁时,终止掉长时间运行的任务,释放资源。

9、进一步的是,handle动态管理还包括:在创建handle时传出当前生命周期感知的对象,使得handle具备页面组件生命周期的感知能力,当页面关闭时,自动清理等待的消息数据,主动释放资源。

10、进一步的是,该方法还包括:

11、broadcast动态管理:通过结合组件的生命周期对象,对广播进行包装,使得广播具有生命周期的感知能力,然后自动管理广播的注册和解除注册流程,在生命周期流程结束后释放资源;在注册的事件中,对其生命周期进行判断,如果超过了规定的生命周期范围,则直接取消事件的发送,并从事件队列中移除该事件占用的资源。

12、进一步的是,该方法还包括:

13、并发集异步任务处理动态管理:

14、重用线程池里的线程,根据不同的业务场景,定义不同的线程池配置,通过该配置优化异步任务在业务场景的工作流程;

15、控制最大并发数,根据终端的硬件配置,计算出最大并发数的阈值,用缓存队列对异步任务进行排序、去重以及缓存执行;

16、管理线程,对并发任务进行全局管理,且对整个应用共享可见,统一调度,实时监控线程池资源的使用情况,最大限度的利用内存资源;

17、管理异步任务,在并发请求执行前对异步任务进行统一包装,加入线程管理所需要的必要条件,对所有的并发请求进行实时跟踪和管控;

18、数据容灾处理,对数据处理的并发任务做特殊标记,对数据处理的过程进行永久序列化;

19、组件生命周期感知,加入组件生命周期的感知能力,在组件生命周期结束后,终止不需要的任务,释放资源。

20、另一方面,本专利技术提供一种基于安卓应用生命周期的资源调度动态管理装置,用于实现上述所述的基于安卓应用生命周期的资源调度动态管理方法,所述装置包括:

21、activity动态管理模块,用于通过一个全局单例的共享类,在应用的初始化入口注册activity生命周期的监听,监听所有activity的生命活动,并保存其状态,该类对activity的每一个生命周期事件定义一个枚举值,当生命周期发生变化时,发出该事件的通知,当应用的任何地方收到相关事件,则用来判断是否需要主动释放资源;

22、handle动态管理模块,用于将handle与当前页面绑定,用来处理异步任务回传的消息数据,当页面销毁时,清理掉handle中未处理完的任务,释放资源;

23、service动态管理模块,用于service分为启动状态与绑定状态,启动状态执行后台计算,绑定状态与其他组件进行交互;

24、当service和界面组件绑定时,service的生命周期与界面的生命周期保持一致,通过监听界面组件的生命周期,在界面组件销毁时,关闭后台service,释放资源。

25、进一步的是,service动态管理模块具体用于,对于脱离了界面组件的service,通过在service中长时间运行的任务状态来管理service的生命周期,当耗时任务执行完毕,关闭后台service,对应的,当service的生命周期销毁时,终止掉长时间运行的任务,释放资源。

26、进一步的是,handle动态管理模块具体用于,在创建handle时传出当前生命周期感知的对象,使得handle具备页面组件生命周期的感知能力,当页面关闭时,自动清理等待的消息数据,主动释放资源。

27、进一步的是,该装置还包括broadcast动态管理模块,用于通过结合组件的生命周期对象,对广播进行包装,使得广播具有生命周期的感知能力,然后自动管理广播的注册和解除注册流程,在生命周期流程结束后释放资源;在注册的事件中,对其生命周期进行判断,如果超过了规定的生命周期范围,则直接取消事件的发送,并从事件队列中移除该事件占用的资源。

28、进一步的是,该装置还包括并发集异步任务处理动态管理模块,用于重用线程池里的线程,根据不同的业务场景,定义不同的线程池配置,通过该配置优化异步任务在业务场景的工作流程;

29、控制最大并发数,根据终端的硬件配置,计算出最大并发数的阈值,用缓存队列对异步任务进行排序、去重以及缓存执行;

30、管理线程,对并发任务进行全局管理,且对整个应用共享可见,统一调度,实时监控线程池资源的使用情况,最大限度的利用内存资源;

...

【技术保护点】

1.基于安卓应用生命周期的资源调度动态管理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,Service动态管理还包括:

3.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,Handle动态管理还包括:在创建Handle时传出当前生命周期感知的对象,使得Handle具备页面组件生命周期的感知能力,当页面关闭时,自动清理等待的消息数据,主动释放资源。

4.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,该方法还包括:

5.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,该方法还包括:

6.基于安卓应用生命周期的资源调度动态管理装置,用于实现如权利要求1-5任意一项所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,所述装置包括:

7.根据权利要求6所述的基于安卓应用生命周期的资源调度动态管理装置,其特征在于,Service动态管理模块具体用于,对于脱离了界面组件的Service,通过在Service中长时间运行的任务状态来管理Service的生命周期,当耗时任务执行完毕,关闭后台Service,对应的,当Service的生命周期销毁时,终止掉长时间运行的任务,释放资源。

8.根据权利要求6所述的基于安卓应用生命周期的资源调度动态管理装置,其特征在于,Handle动态管理模块具体用于,在创建Handle时传出当前生命周期感知的对象,使得Handle具备页面组件生命周期的感知能力,当页面关闭时,自动清理等待的消息数据,主动释放资源。

9.根据权利要求6所述的基于安卓应用生命周期的资源调度动态管理装置,其特征在于,该装置还包括Broadcast动态管理模块,用于通过结合组件的生命周期对象,对广播进行包装,使得广播具有生命周期的感知能力,然后自动管理广播的注册和解除注册流程,在生命周期流程结束后释放资源;在注册的事件中,对其生命周期进行判断,如果超过了规定的生命周期范围,则直接取消事件的发送,并从事件队列中移除该事件占用的资源。

10.根据权利要求6所述的基于安卓应用生命周期的资源调度动态管理装置,其特征在于,该装置还包括并发集异步任务处理动态管理模块,用于重用线程池里的线程,根据不同的业务场景,定义不同的线程池配置,通过该配置优化异步任务在业务场景的工作流程;

...

【技术特征摘要】

1.基于安卓应用生命周期的资源调度动态管理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,service动态管理还包括:

3.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,handle动态管理还包括:在创建handle时传出当前生命周期感知的对象,使得handle具备页面组件生命周期的感知能力,当页面关闭时,自动清理等待的消息数据,主动释放资源。

4.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,该方法还包括:

5.根据权利要求1所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,该方法还包括:

6.基于安卓应用生命周期的资源调度动态管理装置,用于实现如权利要求1-5任意一项所述的基于安卓应用生命周期的资源调度动态管理方法,其特征在于,所述装置包括:

7.根据权利要求6所述的基于安卓应用生命周期的资源调度动态管理装置,其特征在于,service动态管理模块具体用于,对于脱离了界面组件的service,通过在service中长时间运行的任务状态来管理serv...

【专利技术属性】
技术研发人员:刘俊刘智学裴龙
申请(专利权)人:中易通科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1