CN103777868B - 一种以页面为单位且具有后台加载和缓存逻辑的划屏方法 - Google Patents
一种以页面为单位且具有后台加载和缓存逻辑的划屏方法 Download PDFInfo
- Publication number
- CN103777868B CN103777868B CN201210411905.9A CN201210411905A CN103777868B CN 103777868 B CN103777868 B CN 103777868B CN 201210411905 A CN201210411905 A CN 201210411905A CN 103777868 B CN103777868 B CN 103777868B
- Authority
- CN
- China
- Prior art keywords
- page
- display page
- display
- viewdata
- relief area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,包括步骤10、使用ScrollView作为装置的划屏视图容器;将显示页面的长宽分别设定为与该容器长度和容器宽度一致;步骤20、启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载;步骤30、当装置出现划屏操作,缓冲区同步进行更新;步骤40、检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载,加载完后,结束后台线程。本发明优点在于,简化缓存逻辑,便于开发人员实现功能。
Description
【技术领域】
本发明具体涉及一种以页面为单位且具有后台加载和缓存逻辑的划屏方法。
【背景技术】
当视图数据无法完整在屏幕上显示时,通常使用ScrollView(即划屏视图)的方式移动视区以便显示更多内容,当其内容视图无法完全显示在屏幕上时,仅显示内容视图的部分内容,其余当前非可见内容,可通过划动屏幕,将其移入可见区域,但当视图数据量较大时,加载数据的过程将变得非常耗时,若需要降低加载时间,通常需要程序自行实现数据的后台加载逻辑及缓存逻辑。
常用的后台加载逻辑及缓存逻辑主要有:
(1)使用系统提供的列表控件,例如iOS的UITableView以及Android的ListView,这些列表控件(即以项为单位,进行纵向划动的容器视图)自带列表项缓存的功能;
(2)程序自行在ScrollView视图的基础上进行封装,自行实现后台加载逻辑和缓存逻辑。
对于(1),这些列表控件只支持纵向排布的视图,无法实现横向的划动;对于(2),由于页面元素不统一不确定,加上ScrollView视图对于当前可见区域的不确定性(即用户能划动到任何区域),将导致需要后台加载的元素的判断逻辑非常复杂,且难以将后台加载逻辑和缓存逻辑抽象为可复用模块;由此可知,现有的后台加载缓存逻辑对技术开发人员在划屏上的应用开发上不仅繁杂,且存在许多不便。
【发明内容】
本发明要解决的技术问题,在于提供一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,逻辑简单,开发应用便利。
本发明是这样实现的:一种以页面为单位且具有后台加载和缓存逻辑的划屏方法;具体如下步骤:
步骤10、使用ScrollView作为装置的划屏视图容器;获取划屏视图容器的容器长度与容器宽度;将显示页面的页面长度与页面宽度二者分别设定为与该划屏视图容器长度和容器宽度一致;
步骤20、启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载;所述缓冲区加载范围至少包含三个显示页面;
步骤30、当装置出现划屏操作,缓冲区同步进行更新;
将划出缓冲区加载范围的显示页面,进行缓冲区加载范围内的显示页面次序交换;将交换后的显示页面标记为未加载视图数据的显示页面;
步骤40、检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载;缓冲区加载范围不存在未完成视图数据加载的显示页面,结束后台线程。
进一步地,所述步骤10中的显示页面具体为加载视图数据的介质,初始时,显示页面未加载视图数据;所述划屏视图容器以单个显示页面为单位进行划屏操作。
进一步地,所述步骤20和步骤30间还包含一步骤21、在划屏视图容器显示此时用户操作的显示页面,划屏视图容器从缓冲区调用已完成视图数据加载的显示页面,或调用未完成视图数据加载的显示页面内的空视图。
进一步地,所述步骤20中的缓冲区加载范围内的显示页面包含已完成视图数据加载的显示页面及未完成视图数据加载的显示页面;
三个所述显示页面具体为一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面;
当装置上的显示页面页数少于或等于三页时,缓冲区加载范围包含该装置上全数的显示页面;
当装置上的显示页面页数大于三页时,缓冲区加载范围至少包含一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面。
进一步地,所述步骤30中的缓冲区加载范围内的显示页面次序交换具体为,将从缓冲区加载范围一侧划出的显示页面的视图数据清空,并将该清空后的显示页面移至缓冲区加载范围的另一侧的起始位置,准备加载划入缓冲区加载范围的显示页面的视图数据。
进一步地,当装置出现划屏操作所进入的显示页面为未完成视图数据加载的显示页面时,取消缓冲区范围内,除了此时用户操作的显示页面的视图数据加载。
本发明具有如下优点:通过后台线程的缓冲加载逻辑,以显示页面为单位进行划屏操作,实现在划屏容器上进行横向的显示页面操作,简化用户在进行划屏操作的判断逻辑,提高加载速度。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法的执行流程图。
图2为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法中从缓冲区调用显示页面的示意图。
图3为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法中划屏操作时,缓冲区重新排序加载的示意图。
图4为本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法中划屏操作时的流程图。
【具体实施方式】
请参阅图1所示,一种以页面为单位且具有后台加载和缓存逻辑的划屏方法;包括一具有划屏视图容器的装置;所述装置包含复数个用于该划屏视图容器且带有视图数据的显示页面;
具体如下步骤:
步骤10、使用ScrollView作为装置的划屏视图容器;获取划屏视图容器的容器长度与容器宽度;将显示页面的页面长度与页面宽度二者分别设定为与该容器长度和容器宽度一致;所述显示页面为加载视图数据的介质,初始时,显示页面未加载视图数据;所述划屏视图容器以单个显示页面为单位进行划屏操作;
步骤20、进入缓冲加载流程:启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载,将所述显示页面加载入缓冲区中;
缓冲区加载范围内的显示页面包含已完成视图数据加载的显示页面及未完成视图数据加载的显示页面;
当装置上的显示页面页数少于或等于三页时,缓冲区加载范围包含该装置上全数的显示页面;
当装置上的显示页面页数大于三页时,缓冲区加载范围至少包含一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面(即在缓冲区中,将三个显示页面分别加载入三个连续关联的视图数据);
步骤21、在划屏视图容器显示此时用户操作的显示页面,划屏视图容器从缓冲区调用已完成视图数据加载的显示页面,或调用未完成视图数据加载的显示页面内的空视图;
每所述视图数据均包含一空视图,当划屏视图容器显示此时用户操作的显示页面,在缓冲区中为未完成视图数据加载的显示页面时,从缓冲区中调用相应的空视图;
步骤30、当装置出现划屏操作,缓冲区同步进行更新;
将划出缓冲区加载范围的显示页面,进行缓冲区加载范围内的显示页面次序交换;将交换后的显示页面标记为未加载视图数据的显示页面;
缓冲区加载范围内的显示页面次序交换具体为,将从缓冲区加载范围一侧划出的显示页面的视图数据清空,并将该清空后的显示页面移至缓冲区加载范围的另一侧的起始位置,准备加载划入缓冲区加载范围的显示页面的视图数据;
步骤40、检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载;缓冲区加载范围不存在未完成视图数据加载的显示页面,结束后台线程;以页为单位进行操作的缓冲判断逻辑,便于开发人员应用;且由于采用基本的ScrollView作为页面容器,因此能够直接设置每个页面的矩形区域,通过控制这些矩形区域的排布,即可实现不同的划动方向。
当装置出现划屏操作所进入的显示页面为未完成视图数据加载的显示页面时,取消缓冲区范围内,除了此时用户操作的显示页面的视图数据加载。
当此时用户操作的显示页面为未完成视图数据加载的显示页面,即表示在装置的划屏视图容器上是显示该显示页面的空视图,且操作者需要立即对该显示页面进行操作,此时取消划入缓冲区加载范围内的显示页面加载,优先对此时用户操作的显示页面进行加载,加载完成后,调用到划屏视图容器对齐显示,并持续缓冲区加载范围内的未完成视图数据加载的显示页面的视图数据加载。
请参阅图2至图4所示,后台缓冲加载逻辑说明:
假设缓冲区加载范围设定为三个显示页面A页、B页及C页,装置当下操作的显示页面为N页时,前一个显示页面N-1页及后一个显示页面N+1页分别在缓冲区内加载范围内,后台线程将N-1页、N页、N+1页的视图数据分别加载到缓冲区中的A页、B页及C页内;加载到缓冲区内的显示页面能随时相应此时用户操作的显示页面调用到装置的划屏视图容器上显示,如:当下操作的显示页面N即为调用缓冲区中的B页,并对齐显示于其划屏视图容器上;
当用户在装置的划屏容器上进行划向N+1页的操作时,缓冲区加载范围随之更新,即N-1页从缓冲区的一侧划出缓冲区加载范围,将缓冲区内相应于该N-1页的视图数据清空(即原缓冲区内的原A页),并移至缓冲区的另一侧的初始位置(即缓冲区内的页面与装置的页面重新对应排序),在清空后的A页内加载新划入缓冲加载范围的视图数据(即加载相应于该装置N+1页的下一个显示页面N+2页的视图数据);
当装置进入N+1页时,且在缓冲区内相应于该页面的C页内的视图数据已加载完成(即为已完成视图数据加载的显示页面),直接从缓冲区中调用C页,并对齐显示于划屏容器上;
当装置进入N+1页时,且在缓冲区内相应于该页面的C页内的视图数据尚未加载完成(即为未完成视图数据加载的显示页面),停止加载新划入缓冲加载范围的视图数据,优先加载装置的划屏容器所要显示的页面(即在缓冲区的C页加载N+1页的视图数据),加载未完成前,划屏容器显示N+1页的视图数据里的空视图,告知操作者该页面正在加载;加载完成后,将缓冲区内的C页调用出来对齐显示于划屏容器上(即在划屏容器上显示N+1页);
划屏容器显示N+1页的显示页面时,检查缓冲区,将缓冲区加载范围内未完成视图数据加载的显示页面进行加载,缓冲区加载范围内的未完成视图数据加载的显示页面均加载完成后,结束后台线程;
缓冲区加载范围能视不同情况做调整,如:在显示页面较少的装置上,在缓冲区加载所有的显示页面,且不允许首尾的两个显示页面划出划屏容器外,或在显示页面较多的装置上,在缓冲区中加载至少三个页面(即当前页面、当前页面的前后两页面),确保在操作时能在缓冲区内预先加载,方便操作时的调用。
综上所述,相较起传统以项为单位进行操作,容易出现尚未加载完成时有部份区域空白不显示的情况;本发明以页面为单位在划屏容器上进行操作,简易的操作逻辑更便于技术开发人员对划屏应用作开发,且每次显示出来的页面除了表示正在加载中的空视图以外,均为完整的操作页面,让操作者一目了然的进行操作;同时,在操作中如遇到尚未加载完成的显示页面时,不仅在划屏容器上能得到空视图的提醒,且在缓冲区内能立即中断新划入缓冲加载范围的新页面的加载,优先对当下所要进行操作的显示页面进行加载,节省操作者在等待当下显示页面加载的时间。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,本发明一种以页面为单位且具有后台加载和缓存逻辑的划屏方法不限于在ScrollView中使用,对于不提供ScrollView的平台,可通过手动设置页面的坐标的方式模拟实现;且本方法包括但不限于支持横向划屏,在需要的情况下,可进行任意角度的划屏,在划动过程中动态调整上下页的位置;我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (6)
1.一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:具体如下步骤:
步骤10、使用ScrollView作为装置的划屏视图容器;获取划屏视图容器的容器长度与容器宽度;将显示页面的页面长度与页面宽度二者分别设定为与该划屏视图容器长度和容器宽度一致;
步骤20、启动后台线程,在缓冲区中进行缓冲区加载范围内的显示页面的视图数据加载;所述缓冲区加载范围至少包含三个显示页面;
步骤30、当装置出现划屏操作,缓冲区同步进行更新;
将划出缓冲区加载范围的显示页面,进行缓冲区加载范围内的显示页面次序交换;将交换后的显示页面标记为未加载视图数据的显示页面;
步骤40、检查缓冲区加载范围,对未完成视图数据加载的显示页面进行视图数据加载;缓冲区加载范围不存在未完成视图数据加载的显示页面,结束后台线程。
2.如权利要求1所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤10中的显示页面具体为加载视图数据的介质,初始时,显示页面未加载视图数据;所述划屏视图容器以单个显示页面为单位进行划屏操作。
3.如权利要求2所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤20和步骤30间还包含一步骤21、在划屏视图容器显示此时用户操作的显示页面,划屏视图容器从缓冲区调用已完成视图数据加载的显示页面,或调用未完成视图数据加载的显示页面内的空视图。
4.如权利要求3所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤20中的缓冲区加载范围内的显示页面包含已完成视图数据加载的显示页面及未完成视图数据加载的显示页面;
三个所述显示页面具体为一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面;
当装置上的显示页面页数少于或等于三页时,缓冲区加载范围包含该装置上全数的显示页面;
当装置上的显示页面页数大于三页时,缓冲区加载范围至少包含一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面。
5.如权利要求4所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:所述步骤30中的缓冲区加载范围内的显示页面次序交换具体为,将从缓冲区加载范围一侧划出的显示页面的视图数据清空,并将该清空后的显示页面移至缓冲区加载范围的另一侧的起始位置,准备加载划入缓冲区加载范围的显示页面的视图数据。
6.如权利要求1至5任一项所述一种以页面为单位且具有后台加载和缓存逻辑的划屏方法,其特征在于:当装置出现划屏操作所进入的显示页面为未完成视图数据加载的显示页面时,取消缓冲区范围内,除了此时用户操作的显示页面的视图数据加载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210411905.9A CN103777868B (zh) | 2012-10-23 | 2012-10-23 | 一种以页面为单位且具有后台加载和缓存逻辑的划屏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210411905.9A CN103777868B (zh) | 2012-10-23 | 2012-10-23 | 一种以页面为单位且具有后台加载和缓存逻辑的划屏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103777868A CN103777868A (zh) | 2014-05-07 |
CN103777868B true CN103777868B (zh) | 2016-08-24 |
Family
ID=50570181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210411905.9A Active CN103777868B (zh) | 2012-10-23 | 2012-10-23 | 一种以页面为单位且具有后台加载和缓存逻辑的划屏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103777868B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528026B (zh) * | 2016-11-29 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 文本显示方法及装置 |
CN106991016B (zh) * | 2017-03-24 | 2020-08-28 | 北京金山安全软件有限公司 | 信息的显示方法、装置和电子设备 |
CN107122104B (zh) * | 2017-03-29 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | 数据显示方法及装置 |
CN109391649A (zh) * | 2017-08-04 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 页面加载的方法、装置和系统 |
CN107977150A (zh) * | 2017-10-31 | 2018-05-01 | 阿里巴巴集团控股有限公司 | 一种视图滚动方法、装置以及电子设备 |
CN108491546A (zh) * | 2018-04-04 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 一种页面切换方法及电子设备 |
CN109190068A (zh) * | 2018-07-12 | 2019-01-11 | 北京猫眼文化传媒有限公司 | 一种数据处理方法及装置 |
CN109542304B (zh) * | 2018-11-22 | 2021-03-02 | 北京字节跳动网络技术有限公司 | 显示内容的加载方法、装置、设备及存储介质 |
CN110569458A (zh) * | 2019-08-15 | 2019-12-13 | 上海易点时空网络有限公司 | 基于元素状态的数据加载方法及装置、设备、存储介质 |
CN112084443B (zh) * | 2020-08-21 | 2021-09-07 | 北京幻想纵横网络技术有限公司 | 页面缓存方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446222A (zh) * | 2011-12-22 | 2012-05-09 | 华为技术有限公司 | 一种网页内容预加载方法、装置及系统 |
CN102541848A (zh) * | 2010-12-08 | 2012-07-04 | 卓望数码技术(深圳)有限公司 | 基于手机浏览器的页面加载方法、装置、系统和服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0417953D0 (en) * | 2004-08-12 | 2004-09-15 | Ibm | A method and apparatus for searching data |
EP2191357A2 (en) * | 2007-09-07 | 2010-06-02 | International Business Machines Corporation | Scroll bar control |
-
2012
- 2012-10-23 CN CN201210411905.9A patent/CN103777868B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541848A (zh) * | 2010-12-08 | 2012-07-04 | 卓望数码技术(深圳)有限公司 | 基于手机浏览器的页面加载方法、装置、系统和服务器 |
CN102446222A (zh) * | 2011-12-22 | 2012-05-09 | 华为技术有限公司 | 一种网页内容预加载方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103777868A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103777868B (zh) | 一种以页面为单位且具有后台加载和缓存逻辑的划屏方法 | |
CN103076967B (zh) | 用于响应手势改变焦点的方法和双屏幕通信设备 | |
CN105183547B (zh) | 一种用户界面的任务调度方法和装置 | |
CN104216606B (zh) | 基于安卓操作系统的WebView翻页特效方法 | |
EP3126946B1 (en) | Organizing user interface elements | |
US20120007891A1 (en) | Human machine interface presenting method, handheld device using the same, and computer readable medium thereof | |
CN103403651A (zh) | 用户界面上的拖移手势 | |
US8319700B2 (en) | Multiple-display device | |
CN103116453A (zh) | 一种图形对象的操作管理方法及操作管理装置 | |
KR20170057355A (ko) | 엘리베이터 호출을 입력하는 것에 의해 엘리베이터 서비스를 개시하는 시스템 및 방법 | |
KR20170078767A (ko) | 엘리베이터 호출을 입력함으로써 엘리베이터 서비스를 개시하는 시스템 및 방법 | |
CN106293454A (zh) | 针对单手用户界面的方法和电子装置 | |
CN109407817A (zh) | 熄屏时钟的控制方法、装置、电子设备及存储介质 | |
CN102609187A (zh) | 一种显示菜单的方法及终端设备 | |
CN108228850A (zh) | 一种跨平台自助设备管理方法 | |
CN106569688A (zh) | 一种单手操作方法及终端 | |
CN107025040A (zh) | 基于oled屏幕的显示设置方法、系统及图形用户界面 | |
CN104484097A (zh) | 手机桌面图标的变动存放方法 | |
CN104063192B (zh) | 一种显示方法以及一种电子设备 | |
CN106502498A (zh) | 一种触摸屏终端上文件对象的选择方法和装置 | |
CN103927100A (zh) | 一种移动终端中应用程序的打开方法及系统 | |
CN105992278A (zh) | 一种流量控制方法及移动终端 | |
CN105786479B (zh) | 一种合成内存管理方法及系统 | |
CN106227417B (zh) | 一种三维用户界面交互方法、装置、显示盒子及其系统 | |
CN103279287A (zh) | 一种智能测量仪器上的模式切换系统及其显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |