[发明专利]一种基于代理模式的android数据库延迟加载方法有效
申请号: | 201310684451.7 | 申请日: | 2013-12-13 |
公开(公告)号: | CN104714813B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 王洪波;付立库;曹洪建;陈懿;陈皓;张伟;杨森 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F16/25 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 姜丽辉 |
地址: | 100097 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 代理 模式 android 数据库 延迟 加载 方法 | ||
本发明公开一种基于代理模式的android数据库延迟加载方法,包括如下步骤:步骤S100,用代理模式实现集合类的代理,ORM中的DAO层访问集合类的代理对象;步骤S200,代理类代理集合类的Iterator方法,只有当从集合中取具体数据调用Iterator方法时,代理对象通过查询数据库的方式填充集合。其有效的提高数据库的使用效率,有效降低系统的内存开销。
技术领域
本发明涉及计算机网络技术领域,特别是涉及一种基于代理模式的android数据库延迟加载方法。
背景技术
ORMlite是操作sqlite数据库的常用ORM框架,嵌入式设备由于其自身的特点,对系统资源的利用需要更加谨慎。针对ORMLite操作的优化也越来越引起人们的注意。
当从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化类一起初始化呢?如果集合属性里包含十万,甚至百万的记录,在初始化持久化实体的同时,完成所有集合属性的抓取,将导致性能急剧下降。
发明内容
本发明的目的在于提供一种基于代理模式的android数据库延迟加载方法,其有效的提高数据库的使用效率,有效降低系统的内存开销。
为实现本发明目的而提供的一种基于代理模式的android数据库延迟加载方法,包括如下步骤:
步骤S100,用代理模式实现集合类的代理,ORM中的DAO层访问集合类的代理对象;
步骤S200,代理类代理集合类的Iterator方法,只有当从集合中取具体数据调用Iterator方法时,代理对象通过查询数据库的方式填充集合。
较优地,所述代理模式是对其他对象提供一种代理以控制对这个对象的访问。
本发明的基于代理模式的android数据库延迟加载方法,其有效的提高数据库的使用效率,有效降低系统的内存开销,是sqlite数据库在android平台下的一种可行的优化方法。
附图说明
图1为依据本发明一个具体实施例的数据关系示意图;
图2为依据本发明一个具体实施例的图1的数据关系得到的数据库示意图;
图3为依据本发明一个具体实施例的基于代理模式的android图2的数据库延迟加载方法示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚透彻,以下结合附图及实施例,对本发明的基于代理模式的android数据库延迟加载方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明基于代理模式的android数据库延迟加载方法中,对于集合属性,使用基于代理模式的延迟加载方法,只有系统需要使用集合属性时才从数据库装载关联的数据。
包括如下步骤:
步骤S100,用代理模式实现集合类的代理,ORM中的DAO层访问集合类的代理对象;
步骤S200,代理类代理集合类的Iterator方法,只有当从集合中取具体数据调用Iterator方法时,代理对象通过查询数据库的方式填充集合。
代理模式,即Proxy Pattern。本发明实施例中,所述代理模式是对其他对象提供一种代理以控制对这个对象的访问。
本发明实施例中,所述代理模式是为其他对象提供一种代理以控制对这个对象的访问。
在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310684451.7/2.html,转载请声明来源钻瓜专利网。