一种以页面为单位且具有后台加载和缓存逻辑的划屏方法

文档序号:6490177阅读:169来源:国知局
一种以页面为单位且具有后台加载和缓存逻辑的划屏方法
【专利摘要】本发明提供一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,包括步骤10.使用ScrollView作为装置的划屏视图容器;将显示页面的长宽分别设定为与该容器长度和容器宽度一致;步骤20.启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载;步骤30.当装置出现划屏操作,缓冲区同步进行更新;步骤40.检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载,加载完后,结束后台线程。本发明优点在于,简化缓存逻辑,便于开发人员实现功能。
【专利说明】一种以页面为单位且具有后台加载和缓存逻辑的划屏方法
【【技术领域】】
[0001]本发明具体涉及一种以页面为单位且具有后台加载和缓存逻辑的划屏方法。【【背景技术】】
[0002]当视图数据无法完整在屏幕上显示时,通常使用SciOllView (即划屏视图)的方式移动视区以便显示更多内容,当其内容视图无法完全显示在屏幕上时,仅显示内容视图的部分内容,其余当前非可见内容,可通过划动屏幕,将其移入可见区域,但当视图数据量较大时,加载数据的过程将变得非常耗时,若需要降低加载时间,通常需要程序自行实现数据的后台加载逻辑及缓存逻辑。
[0003]常用的后台加载逻辑及缓存逻辑主要有:
[0004](1)使用系统提供的列表控件,例如iOS的UITableView以及Android的ListView,这些列表控件(即以项为单位,进行纵向划动的容器视图)自带列表项缓存的功倉泛;
[0005](2)程序自行在SciOllView视图的基础上进行封装,自行实现后台加载逻辑和缓存逻辑。
[0006]对于(1),这些列表控件只支持纵向排布的视图,无法实现横向的划动;对于(2),由于页面元素不统一不确定,加上SciOllView视图对于当前可见区域的不确定性(即用户能划动到任何区域),将导致需要后台加载的元素的判断逻辑非常复杂,且难以将后台加载逻辑和缓存逻辑抽象为可复用模块;由此可知,现有的后台加载缓存逻辑对技术开发人员在划屏上的应用开发上不仅繁杂,且存在许多不便。

【发明内容】

[0007]本发明要解决的技术问题,在于提供一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,逻辑简单,开发应用便利。
[0008]本发明是这样实现的:一种以页面为单位且具有后台加载和缓存逻辑的划屏方法;具体如下步骤:
[0009]步骤10、使用SciOllView作为装置的划屏视图容器;获取划屏视图容器的容器长度与容器宽度;将显示页面的页面长度与页面宽度二者分别设定为与该划屏视图容器长度和容器宽度一致;
[0010]步骤20、启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载;所述缓冲区加载范围至少包含三个显示页面;
[0011]步骤30、当装置出现划屏操作,缓冲区同步进行更新;
[0012]将划出缓冲区加载范围的显示页面,进行缓冲区加载范围内的显示页面次序交换;将交换后的显示页面标记为未加载视图数据的显示页面;
[0013]步骤40、检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载;缓冲区加载范围不存在未完成视图数据加载的显示页面,结束后台线程。[0014]进一步地,所述步骤10中的显示页面具体为加载视图数据的介质,初始时,显示页面未加载视图数据;所述划屏视图容器以单个显示页面为单位进行划屏操作。
[0015]进一步地,所述步骤20和步骤30间还包含一步骤21、在划屏视图容器显示此时用户操作的显示页面,划屏视图容器从缓冲区调用已完成视图数据加载的显示页面,或调用未完成视图数据加载的显示页面内的空视图。
[0016]进一步地,所述步骤20中的缓冲区加载范围内的显示页面包含已完成视图数据加载的显示页面及未完成视图数据加载的显示页面;
[0017]三个所述显示页面具体为一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面;
[0018]当装置上的显示页面页数少于或等于三页时,缓冲区加载范围包含该装置上全数的显示页面;
[0019]当装置上的显示页面页数大于三页时,缓冲区加载范围至少包含一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显不页面。
[0020]进一步地,所述步骤30中的缓冲区加载范围内的显示页面次序交换具体为,将从缓冲区加载范围一侧划出的显示页面的视图数据清空,并将该清空后的显示页面移至缓冲区加载范围的另一侧的起始位置,准备加载划入缓冲区加载范围的显示页面的视图数据。
[0021]进一步地,当装置出现划屏操作所进入的显示页面为未完成视图数据加载的显示页面时,取消缓冲区范围内,除了此时用户操作的显示页面的视图数据加载。
[0022]本发明具有如下优点:通过后台线程的缓冲加载逻辑,以显示页面为单位进行划屏操作,实现在划屏容器上进行`横向的显示页面操作,简化用户在进行划屏操作的判断逻辑,提高加载速度。
【【专利附图】

【附图说明】】
[0023]下面参照附图结合实施例对本发明作进一步的说明。
[0024]图1为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法的执行流程图。
[0025]图2为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法中从缓冲区调用显示页面的示意图。
[0026]图3为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法中划屏操作时,缓冲区重新排序加载的示意图。
[0027]图4为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法中划屏操作时的流程图。
【【具体实施方式】】
[0028]请参阅图1所示,一种以页面为单位且具有后台加载和缓存逻辑的划屏方法;包括一具有划屏视图容器的装置;所述装置包含复数个用于该划屏视图容器且带有视图数据的显示页面;
[0029]具体如下步骤:[0030]步骤10、使用SciOllView作为装置的划屏视图容器;获取划屏视图容器的容器长度与容器宽度;将显示页面的页面长度与页面宽度二者分别设定为与该容器长度和容器宽度一致;所述显示页面为加载视图数据的介质,初始时,显示页面未加载视图数据;所述划屏视图容器以单个显示页面为单位进行划屏操作;
[0031]步骤20、进入缓冲加载流程:启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载,将所述显示页面加载入缓冲区中;
[0032]缓冲区加载范围内的显示页面包含已完成视图数据加载的显示页面及未完成视图数据加载的显示页面;
[0033]当装置上的显示页面页数少于或等于三页时,缓冲区加载范围包含该装置上全数的显示页面;
[0034]当装置上的显示页面页数大于三页时,缓冲区加载范围至少包含一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面(即在缓冲区中,将三个显示页面分别加载入三个连续关联的视图数据);
[0035]步骤21、在划屏视图容器显示此时用户操作的显示页面,划屏视图容器从缓冲区调用已完成视图数据加载的显示页面,或调用未完成视图数据加载的显示页面内的空视图;
[0036]每所述视图数据均包含一空视图,当划屏视图容器显示此时用户操作的显示页面,在缓冲区中为未完成视图数据加载的显示页面时,从缓冲区中调用相应的空视图;
[0037]步骤30、当装置出现划屏操作,缓冲区同步进行更新;
[0038]将划出缓冲区加载范围的显示页面,进行缓冲区加载范围内的显示页面次序交换;将交换后的显示页面标记为未加载视图数据的显示页面;
[0039]缓冲区加载范围内的显示页面次序交换具体为,将从缓冲区加载范围一侧划出的显示页面的视图数据清空,并将该清空后的显示页面移至缓冲区加载范围的另一侧的起始位置,准备加载划入缓冲区加载范围的显示页面的视图数据;
[0040]步骤40、检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载;缓冲区加载范围不存在未完成视图数据加载的显示页面,结束后台线程;以页为单位进行操作的缓冲判断逻辑,便于开发人员应用;且由于采用基本的SciOllView作为页面容器,因此能够直接设置每个页面的矩形区域,通过控制这些矩形区域的排布,即可实现不同的划动方向。
[0041]当装置出现划屏操作所进入的显示页面为未完成视图数据加载的显示页面时,取消缓冲区范围内,除了此时用户操作的显示页面的视图数据加载。
[0042]当此时用户操作的显示页面为未完成视图数据加载的显示页面,即表示在装置的划屏视图容器上是显示该显示页面的空视图,且操作者需要立即对该显示页面进行操作,此时取消划入缓冲区加载范围内的显示页面加载,优先对此时用户操作的显示页面进行加载,加载完成后,调用到划屏视图容器对齐显示,并持续缓冲区加载范围内的未完成视图数据加载的显示页面的视图数据加载。
[0043]请参阅图2至图4所示,后台缓冲加载逻辑说明:
[0044]假设缓冲区加载范围设定为三个显示页面A页、B页及C页,装置当下操作的显示页面为N页时,前一个显示页面N -1页及后一个显示页面N +1页分别在缓冲区内加载范围内,后台线程将N-1页、N页、N+1页的视图数据分别加载到缓冲区中的A页、B页及C页内;加载到缓冲区内的显示页面能随时相应此时用户操作的显示页面调用到装置的划屏视图容器上显示,如:当下操作的显示页面N即为调用缓冲区中的B页,并对齐显示于其划屏视图容器上;
[0045]当用户在装置的划屏容器上进行划向N+1页的操作时,缓冲区加载范围随之更新,即N-1页从缓冲区的一侧划出缓冲区加载范围,将缓冲区内相应于该N-1页的视图数据清空(即原缓冲区内的原A页),并移至缓冲区的另一侧的初始位置(即缓冲区内的页面与装置的页面重新对应排序),在清空后的A页内加载新划入缓冲加载范围的视图数据(S卩加载相应于该装置N+1页的下一个显示页面N+2页的视图数据);
[0046]当装置进入N+1页时,且在缓冲区内相应于该页面的C页内的视图数据已加载完成(即为已完成视图数据加载的显示页面),直接从缓冲区中调用C页,并对齐显示于划屏容器上;
[0047]当装置进入N+1页时,且在缓冲区内相应于该页面的C页内的视图数据尚未加载完成(即为未完成视图数据加载的显示页面),停止加载新划入缓冲加载范围的视图数据,优先加载装置的划屏容器所要显示的页面(即在缓冲区的C页加载N+1页的视图数据),加载未完成前,划屏容器显示N+1页的视图数据里的空视图,告知操作者该页面正在加载;力口载完成后,将缓冲区内的C页调用出来对齐显示于划屏容器上(即在划屏容器上显示N+1页);
[0048]划屏容器显示N+1页的显示页面时,检查缓冲区,将缓冲区加载范围内未完成视图数据加载的显示页面进行加载,缓冲区加载范围内的未完成视图数据加载的显示页面均加载完成后,结束后台线程;
[0049]缓冲区加载范围能视不同情况做调整,如:在显示页面较少的装置上,在缓冲区加载所有的显示页面,且不允许首尾的两个显示页面划出划屏容器外,或在显示页面较多的装置上,在缓冲区中加载至少三个页面(即当前页面、当前页面的前后两页面),确保在操作时能在缓冲区内预先加载,方便操作时的调用。
[0050]综上所述,相较起传统以项为单位进行操作,容易出现尚未加载完成时有部份区域空白不显示的情况;本发明以页面为单位在划屏容器上进行操作,简易的操作逻辑更便于技术开发人员对划屏应用作开发,且每次显示出来的页面除了表示正在加载中的空视图以外,均为完整的操作页面,让操作者一目了然的进行操作;同时,在操作中如遇到尚未加载完成的显示页面时,不仅在划屏容器上能得到空视图的提醒,且在缓冲区内能立即中断新划入缓冲加载范围的新页面的加载,优先对当下所要进行操作的显示页面进行加载,节省操作者在等待当下显示页面加载的时间。
[0051]虽然以上描述了本发明的【具体实施方式】,但是熟悉本【技术领域】的技术人员应当理解,本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法不限于在SciOllView中使用,对于不提供SciOllView的平台,可通过手动设置页面的坐标的方式模拟实现;且本方法包括但不限于支持横向划屏,在需要的情况下,可进行任意角度的划屏,在划动过程中动态调整上下页的位置;我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【权利要求】
1.一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:具体如下步骤: 步骤10、使用SciOllView作为装置的划屏视图容器;获取划屏视图容器的容器长度与容器宽度;将显示页面的页面长度与页面宽度二者分别设定为与该划屏视图容器长度和容器览度一致; 步骤20、启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载;所述缓冲区加载范围至少包含三个显示页面; 步骤30、当装置出现划屏操作,缓冲区同步进行更新; 将划出缓冲区加载范围的显示页面,进行缓冲区加载范围内的显示页面次序交换;将交换后的显示页面标记为未加载视图数据的显示页面; 步骤40、检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载;缓冲区加载范围不存在未完成视图数据加载的显示页面,结束后台线程。
2.如权利要求1所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤10中的显示页面具体为加载视图数据的介质,初始时,显示页面未加载视图数据;所述划屏视图容器以单个显示页面为单位进行划屏操作。
3.如权利要求2所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤20和步骤30间还包含一步骤21、在划屏视图容器显示此时用户操作的显示页面,划屏视图容器从缓冲区调用已完成视图数据加载的显示页面,或调用未完成视图数据加载的显示页面内的空视图。
4.如权利要求3所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤20中的缓冲区加载范围内的显示页面包含已完成视图数据加载的显示页面及未完成视图数据加载的显示页面; 三个所述显示页面具体为一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面; 当装置上的显示页面页数少于或等于三页时,缓冲区加载范围包含该装置上全数的显示页面; 当装置上的显示页面页数大于三页时,缓冲区加载范围至少包含一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面。
5.如权利要求4所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤30中的缓冲区加载范围内的显示页面次序交换具体为,将从缓冲区加载范围一侧划出的显示页面的视图数据清空,并将该清空后的显示页面移至缓冲区加载范围的另一侧的起始位置,准备加载划入缓冲区加载范围的显示页面的视图数据。
6.如权利要求1至5任一项所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:当装置出现划屏操作所进入的显示页面为未完成视图数据加载的显示页面时,取消缓冲区范围内,除了此时用户操作的显示页面的视图数据加载。
【文档编号】G06F3/0485GK103777868SQ201210411905
【公开日】2014年5月7日 申请日期:2012年10月23日 优先权日:2012年10月23日
【发明者】李中冬, 陈节省, 陈国龙, 余春艳 申请人:福建星网视易信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1