Android系统中业务对象的缓存管理方法及终端与流程

文档序号:11199130阅读:279来源:国知局
Android系统中业务对象的缓存管理方法及终端与流程

本发明涉及android系统中业务层模块与其他模块的分离解耦技术领域,特别涉及一种android系统中业务对象的缓存管理方法及终端。



背景技术:

随着国内外android系统开发的热门程度日益增高,android系统对业务对象的处理主要基于总线来实现。传统的手机应用对于业务对象的创建分为两种,第一种是通过单例模式创建一个业务对象,这种方式一旦业务对象被创建后并不会被系统回收,而是一直占用内存;第二种是在每次使用的时候都会创建业务对象,对于应用刷新频率过快而每次都去创建业务对象的情况,则在短时间内会大大的增加cpu的开销,这两种方式在手机长时间运行后都对内存和cpu的消耗比较大。



技术实现要素:

本发明所要解决的技术问题是:提供一种android系统中业务对象的缓存管理方法及终端,使android系统中业务层模块与其他模块能够分离解耦,节省对系统内存的消耗,减少对cpu的开销。

为了解决上述技术问题,本发明采用的技术方案为:

一种android系统中业务对象的缓存管理方法,包括步骤:

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象。

本发明的有益效果在于:管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码,应用程序通过管理容器请求业务对象,将业务对象与应用程序分离解耦,通过管理容器对业务对象的缓存地址进行统一管理,在管理的过程中,通过标识码对业务对象进行识别,便于业务对象的统一管理,如果应用程序请求的业务对象已经有对应的缓存地址,则管理容器将业务对象的缓存地址反馈给应用程序,如果没有与应用程序请求的业务对象对应的缓存地址,则创建该业务对象,可以有效避免业务对象的重复创建,即节省内存,又减少cpu的开销。

一种android系统中业务对象的缓存管理终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象。

本发明的有益效果在于:在缓存管理终端中,设置有一个或者多个的处理器及存储器来执行对缓存的管理,新设立管理容器,一方面存储有业务对象的标识码和缓存地址,便于集中统一查询和管理缓存地址,还实现将业务对象与应用程序的分离解耦,避免应用程序同时访问多个业务对象造成代码混乱;另一方面,应用程序将业务对象请求发送至管理容器,管理容器中查询是否存在与该业务对象请求对应的业务对象,如果已经存在,则直接通过标识码和缓存地址调取业务对象并返回给应用程序,如果不存在,则创建该业务对象,可以有效避免业务对象的重复创建,即节省内存,又减少cpu的开销。

附图说明

图1为本发明实施例的android系统中业务对象的缓存管理方法的流程图;

图2为本发明实施例的android系统中业务对象的缓存管理终端的结构框图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:通过设立管理容器对业务对象的缓存地址进行统一管理,避免对同样的业务对象建立重复的缓存地址,即节省了内存,又减少cpu的开销。

请参照图1,本发明提供了一种android系统中业务对象的缓存管理方法,包括步骤:

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象。

进一步的,还包括步骤:

为业务对象赋予唯一的标识码。

由上述描述可知,每个业务对象赋值唯一的标识码,对不同的业务对象进行区分。

进一步的,还包括步骤:

根据缓存地址调取业务对象,并通过总线将业务对象发送给应用程序。

由上述描述可知,管理容器根据查找到的缓存地址调取业务对象,并利用总线将业务对象发送给应用程序,业务对象通过管理容器与总线连接,防止因多个业务同时绑定在总线上导致代码混乱,提高总线运行的可靠性。

进一步的,还包括步骤:

将创建的业务对象存入缓存中,同时将所述业务对象的缓存地址及其对应的标识码存储到所述管理容器中。

由上述描述可知,新创建的业务对象存入缓存中,并将业务对象的缓存地址和标识码存储到管理容器中,在管理容器中及时更新业务对象的缓存信息。

进一步的,还包括步骤:

设定时间阈值;

管理容器定时检测其存储的标识码对应的缓存地址未被访问的时间:

如果标识码对应的缓存地址未被访问的时间大于时间阈值,则回收该缓存地址中的业务对象,并且管理容器删除该标识码及该标识码对应的缓存地址。

由上述描述可知,管理容器定时检测其存储的标识码和缓存地址对应的业务对象未被访问的时间,如果缓存地址对应的业务对象超过时间阈值没有被访问,表明该缓存地址对应的业务对象一定时间没有被访问,则管理容器自动回收该缓存地址中的业务对象,并删除存储的该缓存地址及对应标识码,以清除业务对象及对应的记录,释放内存;另外,对于未被访问时间少于时间阈值的业务对象,也可以避免在时间阈值范围内因频繁访问业务对象而重复创建业务对象,可以节省内存,并减少cpu的开销。

请参照图1,本发明的实施例一为:

一种android系统中业务对象的缓存管理方法,包括步骤:

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象。

请参照图1,本发明的实施例二为:

一种android系统中业务对象的缓存管理方法,包括步骤:

为业务对象赋予唯一的标识码;

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址,还根据缓存地址调取业务对象,并通过总线将业务对象发送给应用程序;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象,将创建的业务对象存入缓存中,同时将所述业务对象的缓存地址及其对应的标识码存储到所述管理容器中。

请参照图1,本发明的实施例三为:

一种android系统中业务对象的缓存管理方法,在实施例一的基础上,还包括步骤:

设定时间阈值;

管理容器定时检测其存储的标识码对应的缓存地址未被访问的时间:

如果标识码对应的缓存地址未被访问的时间大于时间阈值,则回收该缓存地址中的业务对象,并且管理容器删除该标识码及该标识码对应的缓存地址。

请参照图1和图2,一种android系统中业务对象的缓存管理终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象。

进一步的,被配置成由所述一个或多个处理器还执行以下步骤:

为业务对象赋予唯一的标识码。

由上述描述可知,在缓存管理终端中,每个业务对象赋值唯一的标识码,对不同的业务对象进行区分。

进一步的,被配置成由所述一个或多个处理器还执行以下步骤:

根据缓存地址调取业务对象,并通过总线将业务对象发送给应用程序。

由上述描述可知,在缓存管理终端中,管理容器根据查找到的缓存地址调取业务对象,并利用总线将业务对象发送给应用程序,业务对象通过管理容器与总线连接,防止因多个业务同时绑定在总线上导致代码混乱,提高总线运行的可靠性。

进一步的,被配置成由所述一个或多个处理器还执行以下步骤:

将创建的业务对象存入缓存中,同时将所述业务对象的缓存地址及其对应的标识码存储到所述管理容器中。

由上述描述可知,在缓存管理终端中,新创建的业务对象存入缓存中,并将业务对象的缓存地址和标识码存储到管理容器中,在管理容器中及时更新业务对象的缓存信息。

进一步的,被配置成由所述一个或多个处理器还执行以下步骤:

设定时间阈值;

管理容器定时检测其存储的标识码对应的缓存地址未被访问的时间:

如果标识码对应的缓存地址未被访问的时间大于时间阈值,则回收该缓存地址中的业务对象,并且管理容器删除该标识码及该标识码对应的缓存地址。

由上述描述可知,在缓存管理终端中,管理容器定时检测其存储的标识码和缓存地址对应的业务对象未被访问的时间,如果缓存地址对应的业务对象超过时间阈值没有被访问,表明该缓存地址对应的业务对象一定时间没有被访问,则管理容器自动回收该缓存地址中的业务对象,并删除存储的该缓存地址及对应标识码,以清除业务对象及对应的记录,释放内存;另外,对于未被访问时间少于时间阈值的业务对象,也可以避免在时间阈值范围内因频繁访问业务对象而重复创建业务对象,可以节省内存,并减少cpu的开销。

请参照图1和图2,本发明的实施例四为:

一种android系统中业务对象的缓存管理终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象。

请参照图1和图2,本发明的实施例五为:

一种android系统中业务对象的缓存管理终端,被配置成由所述一个或多个处理器执行以下步骤:

为业务对象赋予唯一的标识码;

应用程序向管理容器发出包含标识码的业务对象请求,所述标识码与所述业务对象一一对应;

管理容器查找是否包含所述标识码,所述管理容器存储有已存在缓存中的业务对象的缓存地址及其对应的标识码;

如果所述管理容器中包含所述标识码,则向应用程序返回与标识码对应的缓存地址,还根据缓存地址调取业务对象,并通过总线将业务对象发送给应用程序;

如果所述管理容器中不包含所述标识码,则创建与所述业务对象请求对应的业务对象,将创建的业务对象存入缓存中,同时将所述业务对象的缓存地址及其对应的标识码存储到所述管理容器中。

请参照图1和图2,本发明的实施例六为:

一种android系统中业务对象的缓存管理终端,在实施例一的基础上设定时间阈值;

管理容器定时检测其存储的标识码对应的缓存地址未被访问的时间:

如果标识码对应的缓存地址未被访问的时间大于时间阈值,则回收该缓存地址中的业务对象,并且管理容器删除该标识码及该标识码对应的缓存地址。

请参照图1和图2,本发明的实施例七为:

一种android系统中业务对象的缓存管理终端,具体举例为智能手机终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器,在智能手机终端中有微信、qq等业务对象,终端具体执行以下步骤:

为微信、qq等业务对象赋予唯一的标识码;

假设目前管理容器中存储有微信的缓存地址及标识码、qq的缓存地址及标识码;

应用程序向管理容器发出包含标识码的业务对象请求,例如要请求微信这个业务对象;

管理容器查找是否包含微信的标识码;

此时,所述管理容器中包含微信的标识码,则向应用程序返回微信的缓存地址,还根据缓存地址调取微信,并通过总线将微信发送给应用程序;

如果所述管理容器中不包含微信的标识码,则创建与微信,将创建的微信存入缓存中,同时将微信的缓存地址及其对应的标识码存储到所述管理容器中;

同时,管理容器定时检测微信和qq未被访问的时间:

如果微信未被访问的时间大于时间阈值,则回收微信的缓存地址中的微信这个业务对象,并且管理容器删除微信的标识码及微信的缓存地址,释放内存;

如果qq未被访问的时间大于时间阈值,则回收qq的缓存地址中的qq这个业务对象,并且管理容器删除qq的标识码及qq的缓存地址,释放内存。

综上所述,本发明提供的android系统中业务对象的缓存管理方法及终端,通过标识码对业务对象及其缓存地址进行识别,通过管理容器集中统一管理业务对象,如果业务对象已经存在,则只需根据缓存地址调取业务对象即可,如果业务对象不存在则重新创建业务对象,业务对象及其缓存地址还通过管理容器发送给应用程序,如果业务对象一定时间不被访问,则删除业务对象及其缓存地址,释放内存空间,防止应用程序同时访问多个业务对象造成代码混乱,避免重复和频繁创建对象,还可自动回收业务对象释放内存空间,大大节省了内存,减少对cpu的开销。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1