应用程序组件管理方法及系统技术方案

技术编号:14239487 阅读:84 留言:0更新日期:2016-12-21 14:59
本发明专利技术提供了一种应用程序组件管理方法及系统,其中方法包括:获取系统Activity注册表中所有的Activity的注册信息并进行合法性校验,将所有校验成功的Activity生成的Activity实例以类型作为标识符存储在Activity实例资源池中,根据类型对Activity实例资源池中的Activity实例进行调用,并在调用完成后,清空Activity实例资源池。本发明专利技术提供的应用程序组件管理方法及系统,交互简单,大大减少了冗余代码的产生,程序开发人员利用本发明专利技术在开发Android程序时,可以完全忽略Activity的创建、管控、跳转时的操作,也不用关心切换Activity的效率和资源损耗,按照类型直接调用即可,开发效率高,而且不易出错,系统性能稳定。

Application component management method and system

The present invention provides a system and an application component management method, wherein the method comprises: obtaining registration information to verify the legitimacy of all the Activity system in the Activity registry and will all check the success of the Activity generated Activity instance to type as the identifier is stored in the Activity instance of the resource pool, according to the type of calls to Activity an example in the pool in the Activity instance, and after the call to empty the Activity instance pool. Interaction and system application component management method provided by the invention is simple, can greatly reduce the redundant code, developers use the invention in the development of Android program, can ignore the creation of Activity, control, jump operation, no loss of efficiency and resource concern switch Activity, according to the type of direct you can call, the development of high efficiency, and is not easy to make a mistake, the system performance is stable.

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种应用程序组件管理方法及系统
技术介绍
应用程序组件也称为Activity,一个Activity是一个基础应用程序组件。每一个Activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。一个应用程序通常由多个Activities组成,他们通常是松耦合关系。通常,应用程序中会有一个Activity被指定为\main\Activity,在第一次启动应用程序的时候呈现给用户,为了完成不同的动作,一个Activity可以启动另一个Activity。现有的Activity的管理方法如下:首先所有业务Activity类必须在应用的manifest文件中注册,这是安卓(Android)体系的系统规定。Activity注册完成后,在应用启动时,无论什么时候需要启动Activity实例,也不管是否第一次,调用过程如下,如图1所示:步骤1、系统首先检索该应用的Activity注册表;步骤2、如果该Activity没有注册过,则系统直接崩溃;步骤3、如果该Activity已经注册过了,那么系统会根据注册信息中的类路径进行回朔查找;步骤4、如果回朔失败,那么返回步骤2;步骤5、如果回朔成功,则通过系统内存管理取得合法内存;步骤6、成功创建Activity类对象;步骤7、Activity内部业务处理;步骤8、业务处理完成,需要切换其他页面时,舍弃当前页面;步骤9、返回步骤1继续创建Activity对象;步骤10、舍弃当前页面后,页面占用内存会成为无主内存,依然占用内存,当系统资源不足时,操作系统清理内存。传统的安卓系统没有提供对Activity的管控单元,除Activity注册要求外,也没有严格规范,为了更好的管控程序并减少内存浪费,程序开发人员必须手动建立Activity管控机制,非常繁琐且容易出错。而且,在程序运行一段时间后,大量无主的Activity充斥内存空间,造成内存重复性浪费,同时,大量无主的Activity实例的存在还会对程序开发者的工作产生不好的影响。总之,传统的Activity的管理方法,过于面向对象设计,交互复杂,冗余代码多,易出错,从而导致开发效率低,内存浪费严重,严重影响系统性能。
技术实现思路
为解决上述技术问题,克服现有技术水平的缺点和不足,本专利技术提供一种便捷、高效的应用程序组件管理方法及系统,取代传统的Activity的管理方法,能够大大提升系统性能。本专利技术提供的应用程序组件管理方法,包括以下步骤:获取系统Activity注册表中所有的Activity的注册信息并进行合法性校验;建立Activity实例资源池,将所有校验成功的Activity生成的Activity实例,以类型作为标识符,存储在所述Activity实例资源池中;根据类型对所述Activity实例资源池中的Activity实例进行调用;调用完成后,清空所述Activity实例资源池。作为一种可实施方式,所述获取系统Activity注册表中所有的Activity实例的注册信息并进行合法性校验,包括以下步骤:读取所述系统Activity注册表,从中获取所有的Activity的注册信息;遍历获取的所有的Activity的注册信息,并进行合法性校验;若校验失败,则打印出错误信息并记录日志。作为一种可实施方式,所述建立Activity实例资源池,对所有校验成功的Activity生成的Activity实例,以类型作为标识符,存储在所述Activity实例资源池中,包括以下步骤:创建哈希表,以类型作为标识符,将获取的所有校验成功的Activity的注册信息存放在所述哈希表中;创建Activity实例资源池,以所述哈希表作为所述Activity实例资源池的载体,将生成的Activity实例作为实体存储在所述Activity实例资源池中。作为一种可实施方式,所述根据类型对所述Activity实例资源池中的Activity实例进行调用,包括以下步骤:判断所述Activity实例资源池中是否存在当前类型的Activity实例;若不存在,则调取所述哈希表中的当前类型的Activity的注册信息进行回朔查找,回朔查找成功后,创建新的Activity实例并放入所述Activity实例资源池中;若存在,则直接从所述Activity实例资源池中调用对应类型的Activity实例。作为一种可实施方式,本专利技术提供的应用程序组件管理方法还包括以下步骤:对所述Activity实例资源池中的Activity实例的访问间隔时长、占用系统内存大小、远程访问的响应速度、占用CPU的时间、是否存在死循环导致程序无响应、以及调用队列管理次数中的一种或多种进行监控;根据监控结果生成出错信息队列并输出;所述出错信息队列包括出错时间和出错类型;所述出错类型包括:访问系统注册文件无权限、系统注册文件信息错误、Activities类信息错误、Activity参数错误、访问间隔时长超过预设访问时长、占用系统内存超过预设内存值、远程访问无响应、自身无响应或系统阻塞、占用CPU的时间超过预设时间、死循环、程序自定义错误中的一种或多种。相应地,本专利技术提供的应用程序组件管理系统,包括获取模块、建立模块、调用模块以及清空模块;所述获取模块,用于获取系统Activity注册表中所有的Activity的注册信息并进行合法性校验;所述建立模块,用于建立Activity实例资源池,将所有校验成功的Activity生成的Activity实例,以类型作为标识符,存储在所述Activity实例资源池中;所述调用模块,用于根据类型对所述Activity实例资源池中的Activity实例进行调用;所述清空模块,用于在调用完成后,清空所述Activity实例资源池。作为一种可实施方式,所述获取模块包括读取单元、校验单元以及记录单元;所述读取单元,用于读取所述系统Activity注册表,从中获取所有的Activity的注册信息;所述校验单元,用于遍历获取的所有的Activity的注册信息,并进行合法性校验;所述记录单元,用于若校验失败,则打印出错误信息并记录日志。作为一种可实施方式,所述建立模块包括第一创建单元和第二创建单元;所述第一创建单元,用于创建哈希表,以类型作为标识符,将获取的所有校验成功的Activity的注册信息存放在所述哈希表中;所述第二创建单元,用于创建Activity实例资源池,以所述哈希表作为所述Activity实例资源池的载体,将生成的Activity实例作为实体存储在所述Activity实例资源池中。作为一种可实施方式,所述调用模块包括判断单元、查找单元以及调用单元;所述判断单元,用于判断所述Activity实例资源池中是否存在当前类型的Activity实例;所述查找单元,用于在所述Activity实例资源池中不存在当前类型的Activity实例时,调取所述哈希表中的当前类型的Activity的注册信息进行回朔查找,回朔查找成功后,创建新的Activity实例并放入所述Activity实例资源池中;所述调用单元,用于在所述Activity实例资源池中存在当前类型的Activity实例时,直接从所述Activ本文档来自技高网
...
应用程序组件管理方法及系统

【技术保护点】
一种应用程序组件管理方法,其特征在于,包括以下步骤:获取系统Activity注册表中所有的Activity的注册信息并进行合法性校验;建立Activity实例资源池,将所有校验成功的Activity生成的Activity实例,以类型作为标识符,存储在所述Activity实例资源池中;根据类型对所述Activity实例资源池中的Activity实例进行调用;调用完成后,清空所述Activity实例资源池。

【技术特征摘要】
2016.06.12 CN 20161041227401.一种应用程序组件管理方法,其特征在于,包括以下步骤:获取系统Activity注册表中所有的Activity的注册信息并进行合法性校验;建立Activity实例资源池,将所有校验成功的Activity生成的Activity实例,以类型作为标识符,存储在所述Activity实例资源池中;根据类型对所述Activity实例资源池中的Activity实例进行调用;调用完成后,清空所述Activity实例资源池。2.根据权利要求1所述的应用程序组件管理方法,其特征在于,所述获取系统Activity注册表中所有的Activity实例的注册信息并进行合法性校验,包括以下步骤:读取所述系统Activity注册表,从中获取所有的Activity的注册信息;遍历获取的所有的Activity的注册信息,并进行合法性校验;若校验失败,则打印出错误信息并记录日志。3.根据权利要求1所述的应用程序组件管理方法,其特征在于,所述建立Activity实例资源池,对所有校验成功的Activity生成的Activity实例,以类型作为标识符,存储在所述Activity实例资源池中,包括以下步骤:创建哈希表,以类型作为标识符,将获取的所有校验成功的Activity的注册信息存放在所述哈希表中;创建Activity实例资源池,以所述哈希表作为所述Activity实例资源池的载体,将生成的Activity实例作为实体存储在所述Activity实例资源池中。4.根据权利要求3所述的应用程序组件管理方法,其特征在于,所述根据类型对所述Activity实例资源池中的Activity实例进行调用,包括以下步骤:判断所述Activity实例资源池中是否存在当前类型的Activity实例;若不存在,则调取所述哈希表中的当前类型的Activity的注册信息进行回朔查找,回朔查找成功后,创建新的Activity实例并放入所述Activity实例资源池中;若存在,则直接从所述Activity实例资源池中调用对应类型的Activity实例。5.根据权利要求1至4任一项所述的应用程序组件管理方法,其特征在于,还包括以下步骤:对所述Activity实例资源池中的Activity实例的访问间隔时长、占用系统内存大小、远程访问的响应速度、占用CPU的时间、是否存在死循环导致程序无响应、以及调用队列管理次数中的一种或多种进行监控;根据监控结果生成出错信息队列并输出;所述出错信息队列包括出错时间和出错类型;所述出错类型包括:访问系统注册文件无权限、系统注册文件信息错误、Activities类信息错误、Activity参数错误、访问间隔时长超过预设访问时长、占用系统内存超过预设内存值、远程访问无响应、自身无响应或系统阻塞、占用CPU的时间超过预设时间、死循环、程序自定义错误中的一种或多种。6.一种应用程序组件管理系统,其特征在于,包括获取模块、...

【专利技术属性】
技术研发人员:闫军
申请(专利权)人:杭州无量网络科技有限公司
类型:发明
国别省市:浙江;33

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

1