加载Fragment的方法及终端的制作方法

文档序号:8905115阅读:416来源:国知局
加载Fragment的方法及终端的制作方法
【技术领域】
[0001] 本发明设及An化oid技术领域,尤其是设及一种加载化agment的方法及终端。
【背景技术】
[000引化agment是An化oid中的组件,用来展示界面内容,可W接受用户点击、拖动等 操作和用户进行交互。一个复杂的An化oid应用通常由大量的化agment构成,不同的 化agment展示不同的界面实现不同的操作,当大量的化agment同时被加载进内存时,那些 当前没有展示的化agment占用的内存空间被浪费,一般同时只会显示1至3个化agment, 所W如果没有合理管理化agment会有大量的内存被浪费。另一种情况下,把化agment加 载到内存设及到磁盘I/O操作,速度较慢,对用户体验造成影响。

【发明内容】

[0003] 本发明所要解决的技术问题是:提供一种加载化agment的方法及终端,实现对 化agment的选择性加载、卸载并释放内存空间,提高内存使用效率。
[0004] 为了解决上述技术问题,本发明采用的技术方案为:提供一种加载化agment的方 法,包括;生成化agment结点的树结构;确定所述化agment结点在所述树结构上的位置信 息;设置所述化agment结点的加载状态信息;根据所述化agment结点的加载状态信息加 载对应的子结点上的化agment;卸载所述子结点对应的父结点或兄弟结点上的化agment。
[0005] 其中,生成Fragment结点的树结构的步骤具体为:启动程序,并初始化所述程序; 加载JS0N描述文件;根据所述JS0N描述文件定义生成所述树结构。
[0006] 其中,确定所述化agment结点在所述树结构上的位置信息的步骤具体为;定义所 述化agment的关系组织格式;使用JS0N描述所述关系组织格式;确定所述化agment的子 结点、父结点W及兄弟结点的位置信息。
[0007] 其中,设置所述化agment结点的加载状态信息的步骤具体为;关联所述化agment 到对应的名字,并设置所述化agment的路径;确定所述化agment的上下文信息,并根据上 下文信息设置不同化agment之间的组织调用关系;设置所述化agment为预加载、延迟加 载、条件加载的其中一个。
[000引其中,卸载所述子结点对应的父结点或兄弟结点上的化agment具体为:卸载标识 为预加载、延迟加载、条件加载其中一个的化agment结点。
[0009] 其中,根据所述化agment结点的加载状态信息加载对应的子结点上的化agment 的步骤包括;预加载根结点对应的化agment;根据子结点需要预加载的加载状态信息, 预加载对应化agment子结点上的化agment;延迟加载除根结点外的其他结点对应的 Fragment。
[0010] 为解决上述问题,本发明还提供一种加载化agment的终端,包括;树结构单元,用 于生成化agment结点的树结构;位置单元,用于确定所述化agment结点在所述树结构上的 位置信息;元信息单元,用于设置所述化agment结点的加载状态信息;加载单元,用于根据 所述化agment结点的加载状态信息加载对应的子结点上的化agment;卸载单元,用于卸载 所述子结点对应的父结点或兄弟结点上的Fragment。
[0011] 其中,所述树结构单元包括:程序启动子单元,用于启动程序,并初始化所述程序; 树结构生成子单元,用于加载JSON描述文件,并根据所述JSON描述文件定义生成所述树结 构。
[0012] 其中,所述位置单元包括:格式定义子单元,用于定义所述Fragment的关系组织 格式;格式描述子单元,用于使用JSON描述所述关系组织格式;定位子单元,用于确定所述 化agment的子结点、父结点W及兄弟结点的位置信息。
[0013] 其中,所述元信息单元包括;键值对子单元,用于关联所述Fragment到对应的名 字,并设置所述化agment的路径;Context子单元,用于确定所述化agment的上下文信息, 并根据上下文信息设置不同化agment之间的组织调用关系;元信息设置子单元,用于设置 所述化agment为预加载、延迟加载、条件加载的其中一个。
[0014] 本发明的有益效果在于:区别于现有技术,本发明通过生成化agment结点树结 构,并确定其位置信息,设置对应的加载状态信息,并进行加载,最后在化agment使用完后 卸载,实现内存空间的释放,因此在有大量化agment同时加载进内存时,本发明可实现对 化agment的选择性加载、卸载,及时释放内存空间,提高内存使用效率的同时,也提高了磁 盘I/O操作效率,实现在低端设备上运行的可行性。
【附图说明】
[0015] 图1为本发明方法实施例一的流程示意图;
[0016] 图2为本发明方法实施例一具体操作步骤的流程示意图;
[0017] 图3为本发明终端实施例二的结构示意图;
[0018] 图4为本发明终端实施例二具体结构示意图;
[0019] 图5为本发明的方法及终端的整体操作步骤的流程图;
[0020] 图6为本发明具体实施例的界面示意图一;
[0021] 图7为本发明具体实施例的界面示意图二;
[0022] 图8为本发明具体实施例的界面示意图S。
【具体实施方式】
[0023] 为详细说明本发明的技术内容、所实现目的及效果,W下结合实施方式并配合附 图予W说明。
[0024] 请参照图1,本发明方法实施例一提供一种加载化agment的方法,包括如下步骤; [002引S110 ;生成Rragment结点的树结构;
[0026] S120 ;确定所述化agment结点在所述树结构上的位置信息;
[0027] S130 ;设置所述化agment结点的加载状态信息;
[002引S140 ;根据所述化agment结点的加载状态信息加载对应的子结点上的Fragment;
[0029] S150 ;卸载所述子结点对应的父结点或兄弟结点上的化agment。
[0030] 一般地,本领域技术人员可针对要加载的化agment结点的信息,定义生成一个树 结构,树是一种重要的非线性数据结构,由数据元素(在树中称为结点)按分支关系组织起 来的结构。树结构上存在一个特殊的结点,称为根结点或根(root)。除根结点外,其余结点 被分成多个互不相交的有限集合(或子集),每个子集也为树结构形式。在树结构上除根结 点外的其他结点,根据其在树结构上的位置可定义为父结点、子结点或兄弟结点。每个结点 表示一个化agment的元信息,本发明中的元信息主要是指每个化agment结点的加载状态 信息,如是否预加载、是否延迟加载或是否条件加载(即满足相关条件后才进行加载)等加 载状态信息。如一个结点的元信息是预加载,则在程序启动时,就要预先加载其进入内存。 通常根结点都是预加载的,其他所有的结点Fragment都可不预加载,只根据树结构上结点 的元信息加载对应子结点的化agment。
[0031] 而为了不占用过多的内存,对一些结点的元消息设置为延迟加载或条件加载,该 些结点只有满足特定条件或特定的时刻才进行加载。而已加载的结点(包括预加载的)在 使用完后,若卸载后对整个程序不产生负面影响时,可对其进行卸载,该样就可释放内存。
[0032] 从上述描述可知,本发明的有益效果在于;区别于现有技术,本发明方法实施例一 通过为化agment结点生成树结构,并在上树结构确定其位置信息后,根据实际需要对其设 置相应的加载状态信息,并在使用完后卸载。该样实现了对内存空间的充分使用,又不占用 过多的内存,提高相应电子设备的运行速度,如I/O操作等。
[0033] 其中,如图2所示,本发明方法实施例一在执行步骤S110时,可具体执行如下步 骤:
[0034] Sill;启动程序,并初始化所述程序;
[003引 S112 ;加载JS0N描述文件;
[0036] S113 ;根据所述JS0N描述文件定义生成所述树结构。
[0037] 在初始化程序时,可显示根结点对应的化agment,其
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1