CN105229691A - 在滚动时延迟繁重操作 - Google Patents

在滚动时延迟繁重操作 Download PDF

Info

Publication number
CN105229691A
CN105229691A CN201480028552.1A CN201480028552A CN105229691A CN 105229691 A CN105229691 A CN 105229691A CN 201480028552 A CN201480028552 A CN 201480028552A CN 105229691 A CN105229691 A CN 105229691A
Authority
CN
China
Prior art keywords
user
computing equipment
event
social networking
networking system
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.)
Granted
Application number
CN201480028552.1A
Other languages
English (en)
Other versions
CN105229691B (zh
Inventor
杜琪星
张康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Publication of CN105229691A publication Critical patent/CN105229691A/zh
Application granted granted Critical
Publication of CN105229691B publication Critical patent/CN105229691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/485Resource constraint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在一个实施方式中,计算设备检测对应于在图形用户界面中的变化的事件,该图形用户界面由该计算设备显示;该计算设备基于所检测的事件识别至少一个操作;该计算设备确定所识别的操作的状态;该计算设备也至少部分基于所确定的状态来延迟所识别的操作。

Description

在滚动时延迟繁重操作
技术领域
本公开内容大体涉及图形用户界面。
背景技术
可包括社交网络网站的社交网络系统可以使其用户(诸如,个人或组织)能够与其交互并且通过社交网络系统彼此交互。随着用户输入,社交网络系统可以在社交网络系统中创建并储存与用户相关联的用户配置文件。用户配置文件可包括用户的人口统计信息、通信信道信息以及个人兴趣信息。随着用户输入,社交网络系统还可创建并储存用户与社交网络系统中的其他用户的关系的记录,以及提供促进两个用户或多个用户之间的社交交互的服务(例如,涂鸦墙、照片分享、事件组织、消息、游戏或者广告)。
社交网络系统可通过一个或多个网络将与其服务有关的内容或者消息发送至用户的手机或者其他计算设备。用户还可以在用户的手机或其他计算设备上安装软件应用程序,用于访问用户的用户配置文件以及社交网络系统内的其他数据。社交网络系统可生成一组个性化的内容对象以显示给用户,诸如,连接到该用户的其他用户的集合的故事的新闻馈送。
发明内容
具体实施方式描述了在性能关键事件期间用于延迟繁重操作的方法,因此提供更好的用户体验。例如,具体实施方式可在用户滚动事件期间延迟繁重操作,因此降低可能的不均匀滚动速度。在具体实施方式中,计算设备可以检测对应于在图形用户界面中的变化的事件,该图形用户界面由该计算设备显示。计算设备可基于所检测的事件识别至少一个操作,并且确定所识别的操作的状态。计算设备可至少部分基于所确定的状态来延迟所识别的操作。
附图说明
图1示出了与社交网络系统相关联的示例性网络环境。
图2示出了示例性社交图谱。
图3示出在性能关键事件期间用于延迟繁重操作的示例性方法。
图4示出了示例性计算机系统。
具体实施方式
图1示出了与社交网络系统相关联的示例性网络环境100。网络环境100包括用户101、客户端系统130、社交网络系统160以及通过网络110彼此连接的第三方系统170。尽管图1示出了用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110的具体布置,但是本公开内容考虑用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110的任意合适布置。作为示例而非限制性的方式,客户端系统130、社交网络系统160以及第三方系统170中的两个或多个可旁通网络110直接彼此连接。如另一实例,客户端系统130、社交网络系统160以及第三方系统170中的两个或多个可物理上或逻辑上彼此整体地或者部分共置。此外,尽管图1示出了具体数目的用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110,但是本公开内容考虑任意合适数目的用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110。作为实例而非限制性的方式,网络环境100可包括多个用户101、客户端系统130、社交网络系统160、第三方系统170以及网络110。
在具体实施方式中,用户101可以是与社交网络系统160交互或者通信或通过社交网络系统160交互或者通信的个体(人类用户)、实体(例如,企业、商家或第三方应用)或者组(例如,个体或者实体)。在具体实施方式中,社交网络系统160可以是承载在线社交网络的网络可寻址计算系统。社交网络系统160可生成、储存、接收、以及发送社交网络数据,诸如,例如,用户配置文件数据、概念配置文件数据、社交图谱信息或者与在线社交网络有关的其他合适数据。通过网络环境100的其他部件可直接或经由网络110访问社交网络系统160。在具体实施方式中,社交网络系统160可以包括授权服务器(或者其他合适的部件),该授权服务器允许用户101确定采用或确定不采用使它们的行为被社交网络系统160记录或例如,通过设置适当的隐私设置与其他系统(例如,第三方系统170)共享它们的行为。用户的隐私设置可以确定可记录与用户相关联的什么信息、可如何记录与用户相关联的信息、可何时记录与用户相关联的信息、何人可记录与用户与相关联的信息、与谁可以分享与用户相关联的信息以及为了什么目的可记录或可分享与用户相关联的信息。授权服务器可通过阻挡、数据散列、匿名化或者其他视情况而定的合适技术用于执行社交网络系统30的用户的一种或多种隐私设置。在具体实施方式中,第三方系统170可以是能够承载网站或者应用程序的网络可寻址计算系统。第三方系统170可生成、储存、接收以及发送诸如,例如网页、文本、图像、视频、音频或者应用程序。网络环境100中的其他部件可直接访问或经由网络110访问第三方系统170。在具体实施方式中,一个或多个用户101可使用一个或多个客户端系统130访问数据、将数据发送至社交网络系统160或第三方系统170以及从社交网络系统160或第三方系统170接收数据。客户端系统130可直接、经由网络110或经由第三方系统访问社交网络系统160或第三方系统170。作为实例并非限制性的方式,客户端系统130可经由社交网络系统160访问第三方系统170。客户端系统130可以是任意合适的计算设备,诸如,例如个人计算机、膝上型电脑、蜂窝电话、智能电话或平板计算机。
本公开内容考虑任意合适的网络110。作为实例而非限制的方式,网络110的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、一部分互联网、一部分公共交换电话网(PSTN)、蜂窝电话网络、或其中的两个或多个的组合。网络110可以包括一个或多个网络110。
链路150可将客户端系统130、社交网络系统160以及第三方系统170连接到通信网络110或者彼此连接。本公开内容考虑任意合适的链路150。在具体实施方式中,一条或者多条链路150包括一条或者多条有线(诸如,例如数字用户线路(DSL)或者有线电缆数据服务发送规范(DOCSIS))、无线(诸如,例如Wi-Fi或者微波存取全球互通(WiMAX)等)、或者光纤(诸如,例如同步光学网络(SONET)或者同步数字体系(SDH))链路。在具体实施方式中,一条或多条链路150均包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、以蜂窝技术为基础的网络、以卫星通信技术为基础的网络、另一条链路150或者两条或多条此类链路150的组合。就一个或多个方面而言,一条或多条第一链路150可以与一条或多条第二链路150不同。
图2示出示例性社交图谱200。在具体实施方式中,社交网络系统160可将一个或多个社交图谱200储存在一个或多个数据存储中。在具体实施方式中,社交图谱200可包括多个节点:其可包括多个用户节点202或多个概念节点204以及将节点连接的数条矢线206。出于教导之目的,以二维可视图表示,示出了图2中所示出的示例性社交图谱200。在具体实施方式中,社交网络系统160、客户端系统130或者第三方系统170可访问社交图谱200和用于合适应用程序的相关联的社交图谱信息。例如,社交图谱200的节点和矢线可作为数据对象存储在数据存储(诸如,社交图谱数据库)中。这种数据存储可包括社交图谱200的节点或矢线的一个或多个可查找的或者可搜寻的索引。
在具体实施方式中,用户节点202可与社交网络系统160的用户对应。作为示例而非限制性的方式,用户可以是与社交网络系统160交互或者通信或通过社交网络系统160交互或者通信的个体(人类用户)、实体(例如,企业、商家或第三方应用)或者组(例如,个体或者实体)。在具体实施方式中,当用户在社交网络系统160中注册账户时,社交网络系统160可创建对应于该用户的用户节点202,并且将用户节点202存储在一个或多个数据存储中。在适当的情况下,此处所描述的用户和用户节点202可指注册用户和与注册用户相关联的用户节点202。另外或者作为替代,在适当情况下,此处所描述的用户和用户节点202可指未注册至社交网络系统160的用户。在具体实施方式中,用户节点202可与通过用户提供的信息或者通过各种系统(包括社交网络系统160)收集的信息相关联。作为示例并非限制性的方式,用户可以提供他或她的名字、配置文件图片、联系信息、生日、性别、婚姻状况、家庭状况、工作情况、教育背景、偏好、兴趣或其他人口统计信息。在具体实施方式中,用户节点202可以与用户相关联的信息对应的一个或多个数据对象相关联。在具体实施方式中,用户节点202可与一个或多个网页对应。
在具体实施方式中,概念节点204可与概念对应。作为实例并非限制性的方式,概念可对应于地点(诸如,例如电影院、餐馆、地标或者城市);网站(诸如,例如与社交网络系统160相关联的网站或者与网络应用程序服务器有关的第三方网站);实体(诸如,例如个人、商家、群体、运动团体或者名人);可以位于社交网络系统160内或外部服务器(诸如,网络应用程序服务器)上的资源(诸如,例如音频文件、视频文件、数字照片、文本文件、结构文档或者应用程序);不动产或知识产权(诸如,例如雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;构思或者理论;另一合适概念;或者两个或多个这类概念。概念节点204可以与用户提供的概念信息或者通过各种系统(包括社交网络系统160)收集的信息相关联。作为示例而非限制性的方式,概念信息可包括名称或者标题;一个或者多个图像(例如,书籍封面页图像);位置(例如,地址或者地理位置);网站(其可与URL相关联);联系人信息(例如,电话号码或者电子邮件地址);其他合适的概念信息;或者此类信息的任意合适的组合。在具体实施方式中,概念节点204可与对应于与概念节点204相关联的信息的一个或多个数据对象相关联。在具体实施方式中,概念节点204可与一个或多个网页对应。
在具体实施方式中,社交图谱200中的节点可以表示网页(其可被称为“配置文件页面”)或者由网页表示。配置文件页面可由社交网络系统160承载或者可访问至社交网络系统160。配置文件页面还可承载在与第三方服务器170相关联的第三方网站上。作为示例而非限制性的方式,对应于具体的外部网页的配置文件页面可以是具体的外部网页,并且配置文件页面可以对应于具体的概念节点204。所有的其他用户或者其他用户的选择子集可查看配置文件页面。作为示例而非限制性的方式,用户节点202可具有对应的用户配置文件页面,其中,对应的用户可以添加内容、做出声明或相反表达他自己或她自己的想法。作为另一个示例并非限制性的方式,概念节点204可具有对应的概念配置文件页面,其中,一个或多个用户可特别地就对应于概念节点204的概念添加内容、做出声明或者表达他们自己的想法。
在具体实施方式中,概念节点204可表示第三方网页或者由第三方系统170承载的资源。第三方网页或资源可包括在其他元素、内容、可选择的图标或其他图标、或者表示动作或活动的其他中间能实行的对象(例如,其可以在JavaScript、AJAX或PHP代码中实现)中。作为示例而非限制性的方式,第三方网页可包括诸如“喜欢”、“签到”、“吃”、“推荐”、或者其他合适的动作或者活动的可选择的图标。浏览第三方网页的用户可通过选择使客户端系统130向社交网络系统160发送表示用户的动作的消息的图标(例如“吃”)之一而执行活动。响应于该消息,社交网络系统160可在对应于用户的用户节点202与对应于第三方网页或资源的概念节点204之间创建矢线(例如,“吃”矢线),并且在一个或多个数据存储中存储矢线206。
在具体实施方式中,社交图谱200中的一对节点可通过一条或多条矢线206彼此连接。连接一对节点的矢线206可以表示该一对节点之间的关系。在具体实施方式中,矢线206可包括或表示一个或多个数据对象或者对应于一对节点之间的关系的属性。作为实例并非限制性的方式,第一用户可指示第二用户为第一用户的“好友”。响应于此指示,社交网络系统160可将“好友请求”发送至第二用户。如果第二用户确认该“好友请求”,则社交网络系统160可以在社交图谱200中创建将第一用户的用户节点202连接到第二用户的用户节点202的矢线206,并且在一个或多个数据存储器中存储矢线206作为社交图谱信息。在图2的示例中,社交图谱200包括指示用户“A”与用户“B”的用户节点202之间的好友关系的矢线206,以及指示用户“C”与用户“B”的用户节点202之间的好友关系的矢线。尽管本公开内容描述或示出了具有连接具体用户节点202的具体属性的具体矢线206,但是本公开内容考虑具有连接用户节点202的任意合适属性的任意合适矢线206。作为示例而非限制性的方式,矢线206可表示友谊、亲属关系、公司或工作关系、爱好者关系、粉丝关系、访客关系、客户关系、上级/下属关系、相互关系、非相互关系、另一合适类型关系或者两种或多种此类关系。此外,尽管本公开内容大体描述了处于连接的节点,但是本公开内容也描述了处于连接的用户或概念。在本文中,在适当的情况下,对处于连接的用户或概念的引用可以指在社交图谱200中对应于由一条或多条矢线206连接的那些用户或概念的节点。
在具体实施方式中,用户节点202与概念节点204之间的矢线206可以表示由与用户节点202相关联的用户向与概念节点204相关联的概念执行的具体动作或活动。作为实例并非限制性方式,如图2所示,用户可“喜欢”、“参与”、“播放”、“收听”、“烹饪”、“就职于”或者“观看”概念,每个概念均对应于矢线类型或者子类型。例如,对应于概念节点204的概念配置文件页面可包括可选择的“签到”图标(诸如,例如可点击的“签到”图标)或者可选择的“添加到收藏夹”图标。同样,在用户点击这些图标之后,社交网络系统160可响应于对应于相应动作的用户动作,创建“收藏”矢线或者“签到”矢线。作为另一实例而非限制性的方式,用户(用户“C”)可使用具体应用程序(SPOTIFY,其是在线音乐应用程序)收听具体歌曲(“RambleOn”)。在这种情况下,社交网络系统160可在对应于用户的用户节点202与对应于歌曲和应用程序的概念节点204之间创建“收听”矢线206和“使用”矢线(如图2所示),以指示该用户收听过该歌曲并且使用过该应用程序。此外,社交网络系统160可在对应于歌曲和应用程序的概念节点204之间创建“播放”矢线206(如图2所示),以指示由具体应用程序播放过该具体歌曲。在这种情况下,“播放”矢线206对应于在外部音频文件(歌曲“Imagine”)上通过外部应用程序(SPOTIFY)执行的动作。尽管本公开内容描述了具有连接用户节点202与概念节点204的具体属性的具体矢线206,但是本公开内容考虑具有连接用户节点202与概念节点204的任意合适属性的任意合适矢线206。此外,尽管本公开内容描述了表示单一关系的用户节点202与概念节点204之间的矢线,但是本公开内容考虑表示一种或多种关系的用户节点202与概念节点204之间的矢线。作为示例而非限制性的方式,矢线206可以既表示用户喜欢又表示用户已经使用过该具体概念。可替代地,另一矢线206可表示用户节点202与概念节点204之间的各种类型的关系(或者多种单一关系)(如图2所示,在用户“E”的用户节点202与“SPOTIFY”的概念节点204之间)。
在具体实施方式中,社交网络系统160可在社交图谱200中创建用户节点202与概念节点204之间的矢线206。作为实例并非限制性的方式,浏览概念-配置文件页面的用户(诸如,例如,通过使用网络浏览器或者由用户的客户端系统130承载的特定-目的的应用程序)可以通过点击或者选择“喜欢”图标来表示他或她喜欢由概念节点204所表示的概念,其可使用户的客户端系统130向社交网络系统160发送表示用户喜欢与概念-配置文件页面相关联的概念的消息。响应于该消息,社交网络系统160可在与用户相关联的用户节点202与概念节点204之间创建矢线206,如用户与概念节点204之间的“喜欢”矢线206所示。在具体实施方式中,社交网络系统160可将矢线206存储在一个或多个数据存储中。在具体实施方式中,社交网络系统160可响应于具体的用户动作自动形成矢线206。作为示例而非限制性的方式,如果第一用户上传图片、观看电影或者收听歌曲,则可在对应于第一用户的用户节点202与对应于那些概念的概念节点204之间形成矢线206。尽管本公开内容描述了以具体的方式形成具体矢线206,但是本公开内容考虑以任意合适方式形成任意合适矢线206。
此外,任意两个节点之间的分离度被定义为从一个节点到另一节点跨越社交图谱所需的最小跳数(或者矢线)。两个节点之间的分离度可被视为由社交图谱中的两个节点所表示的用户或者概念之间的关联性的测量。
社交网络系统可基于可能与用户有关的所记录的活动或动作,向用户提供经常更新的内容。在具体实施方式中,社交网络系统可以支持新闻馈送服务。在具体实施方式中,新闻馈送可以包括数据格式,该数据格式包括一个或多个新闻馈送故事。每个新闻馈送故事可包括与特定主题或者话题有关的内容。在具体实施方式中,社交网络系统可以将与特定用户动作有关的活动或动作集合成新闻馈送故事。例如,第一用户可发布照片至社交网络系统,同时,社交网络系统的其他用户可以执行与该照片有关的各种活动或动作。其他用户可以“喜欢”该照片、发布与该照片有关的评论或者标记一个或多个具体用户至该照片。社交网络系统可将与照片有关的活动集合成新闻馈送故事,该新闻馈送故事包含照片的图像、第一用户的配置文件图片、其他用户对照片的“喜欢”的计数以及与照片的一个或多个评论。就另一个实例而言,第一用户可以向对应于地点(例如,地标、餐馆、公寓商店)的网页(由社交网络系统或第三方系统维持)签到。社交网络系统的其他用户可以“喜欢”该签到活动,或发布与该签到活动有关的评论。社交网络系统可将与该签到活动有关的活动集合成新闻馈送故事,该新闻馈送故事包括网页的链路和图像、第一用户的配置文件图片、其他用户对该签到活动的“喜欢”的计数以及与该签到活动有关的一个或多个评论。社交网络系统也可以向网页集合新闻馈送故事更新或者与网页有关的广告(例如,来自与网页有关的商家的在线优惠)。在具体实施方式中,社交网络可以向浏览的用户呈现包括一个或多个新闻馈送故事的新闻馈送。例如,由浏览的用户的客户端设备承载的应用程序(例如,网络浏览器)可以从社交网络系统检索新闻馈送并且在应用程序的用户界面中显示新闻馈送。应用程序可以在新闻馈送中显示每个新闻馈送故事,该新闻馈送位于应用程序的用户界面相应的帧(例如,超文本标识语言或者HTML内嵌帧)中。
社交网络系统可以基于社交图谱信息将活动或者动作集合成新闻馈送故事。例如,社交网络系统可以为浏览的用户集合新闻馈送,该新闻馈送包括与用户执行的活动或者动作相关的新闻馈送故事,该用户与在社交图谱上浏览的用户在指定分离度内(例如,在分离两度内)。社交网络系统可以基于隐私设置将活动或者动作集合成新闻馈送故事。例如,用户可以指定其他用户可以访问由用户执行的具体活动的信息。社交网络系统可以为浏览的用户集合新闻馈送,该新闻馈送包括与浏览的用户可访问的活动有关的新闻馈送故事。
诸如网页的结构文档可包括,例如,页面布局信息(例如,帧)、脚本、诸如文本的页面内容(例如,ASCII或HTML)、介质数据(例如,图像、影像剪辑、或者动画)、以及可执行码对象(例如,浏览器窗口或帧内可执行的游戏)。结构文档可用语言和技术实现,诸如超文本标记语言(HTML)、可扩展标记语言(XML)、可扩展超文本标记语言(XHTML)、Java脚本、WebGL、包括CSS动画和转换的层叠样式表(CSS)、以及经常地,Java。结构文档本身可以包括多个结构文档和内容的引用。例如,网页可包括通过合并响应于用户活动(例如,鼠标点击、鼠标悬停)并且使在图形用户界面中显示网页的应用程序动态地检索由资源定位器和脚本代码指定的内容的统一资源定位器(URL)或者脚本代码(例如,Java脚本、PHP或者AJAX)的一个或多个的内联引用。
在图形用户界面中显示结构文档的应用程序可以经由应用程序编程接口(API)通过向远程数据库(例如,由网站承载)提交数据库查询来检索由结构文档(或者由应用程序的用户)指定的内容。从远程数据库返回的查询结果可包括用Java脚本对象表示法(JSON)格式表示的代码。应用程序可以在图形用户界面中显示结果之前解析JSON代码。应用程序也可以通过访问用于缓存内容的一个或多个本地文件检索由结构文档(或者由应用程序的用户)指定的内容。
当用户在应用程序(例如,网络浏览器)的图形用户界面中浏览结构文档或与结构文档交互时,应用程序可以检索并且呈递在图形用户界面内显示的结构文档的内容。当用户在图形用户界面中向上或向下滚动结构文档时,应用程序可以检索并且呈递结构文档的其他内容。与检索和呈递结构文档的内容相关的操作可包括上述的数据库查询、JSON解析、或者文件存取(或数据序列化或者反序列化)。与检索和呈递结构文档的内容相关的操作可包括在结构文档中用于图像的照片解码(例如,联合图像专家组或者JPEG图像解码)。然而,与检索和呈递结构文档的内容相关的操作可能影响具有限制的硬件资源的应用程序的性能,并且减少用户参与度和应用程序的质量。
例如,如果远程数据库不响应,则通过应用程序提交给远程数据库的数据库查询可能使应用程序暂停。例如,大照片的解码可能要求更高级的程序或者存储器资源,因此阻止了应用程序的执行。例如,JSON解析、数据库查询、数据序列化或反序列化以及照片解码可能要求更高级的存储器并且触发承载应用程序的计算设备的自动记忆管理活动(例如,在Java程序语言中的垃圾收集)。自动记忆管理活动可能消耗大量的处理资源并且引起与应用程序相关联的代码执行(例如,Java虚拟机的执行)的暂停。此外,当自动记忆管理活动由承载应用程序的计算设备,而非由应用程序控制控制时,自动记忆管理活动可能使应用程序不定时暂停。在诸如滚动或者动画的性能关键事件期间,那些“繁重”操作可能劣化应用程序的视觉体验,诸如不连贯滚动、屏幕冻结或者失帧。同时,从另一不同于显示图形用户界面的应用程序发起的诸如JSON解析、数据库查询、文件存取或者照片解码的操作也可能劣化图形用户界面的视觉体验。
具体实施方式描述了用于保持应用程序的图形用户界面的视觉体验的方法。具体实施方式通过延迟在诸如滚动和动画的性能关键事件期间的繁重操作来保持图形用户界面的视觉体验。
图3示出了在性能关键事件期间用于延迟繁重操作的示例性方法300。方法300可以通过计算设备实现。例如,方法300可通过在计算设备的一个或多个处理器上执行的一种或多种计算程序来实现。计算设备可以是具有显示一个或多个图形用户界面的至少一个显示器的台式机、膝上型电脑、平板电脑、智能电话或者任意合适的计算设备。该方法300可从步骤310开始。在具体实施方式中,在步骤310中,计算设备可以检测对应于在图形用户界面中的变化的事件,该图形用户界面由计算设备显示。
在图形用户界面中的变化可以与性能关键事件对应,该性能关键事件可能受早前描述的一种或多种繁重操作的影响。例如,图形用户界面可以显示内容对象(例如,文本、图像、超文本链接标示语言内嵌帧等)的可滚动列表。对于另一示例,图形用户界面可以显示新闻馈送,该新闻馈送包括新闻馈送故事的可滚动列表(例如,包含在超文本链接标示语言内嵌帧内的每个新闻馈送故事)。在图形用户界面中的变化可以与由计算设备的用户发起的滚动事件相对应。用户可以通过使用在显示图形用户界面的触摸屏上的滑动手势,或者通过使用鼠标或者点控设备以向上或者向下拖动图形用户界面的滚动条来向上或者向下滚动图形用户界面。滚动事件可以沿着图形用户界面的垂直轴、沿着图形用户界面的水平轴或者沿着任意合适的的方向。在图形用户界面中的变化也可以与由图形用户界面显示的可滚动列表相关联的挥舞事件相对应。用户可使用轻弹触摸手势以向上或者向下(或者以任意合适的方向)滚动可滚动列表,使得列表在图形用户界面中以轻弹触摸手势的速度移动(“飞”),并且可以逐渐减速至停止。
在图形用户界面中的变化可以与在图形用户界面中显示的动画事件对应。动画事件可以包括动画效果,该动画效果包含图形用户界面的所有显示区域或者一部分显示区域。动画事件可以包括在图形用户界面中显示的帧内的动画效果。
在图形用户界面中的变化可以与自定义活动相对应,该自定义活动由计算设备的用户或者在计算设备上运行的程序或者操作系统的编程器定义。程序的编程器可以将自定义事件定义为对应于超过预定阈值的变化。例如,如果自定义活动对应于在图形用户界面中的变化,并且该变化超过了图形用户界面的显示区域的20%,则编程器可以定义自定义活动(程序执行期间)。对于另一实例,如果自定义活动对应于在图形用户界面中显示新帧,并且新帧的区域超过了图形用户界面的显示区域的20%,则编程器可以定义自定义活动。对于又一个另一实例,如果自定义活动对应于在图形用户界面中的新动画,并且新动画的区域超过了图形用户界面的显示区域的20%,则编程器可以定义自定义活动。在一个实施方式中,因为变化超过了预定阈值(例如,变化超过了图形用户界面的显示区域的30%),所以计算设备(例如,在计算设备上运行的操作系统)可以检测对应于在图形用户界面中的变化的事件。
计算设备可以通过使用收听者或者事件信息来检测对应于在图形用户界面中的变化的事件,该图形用户界面由计算设备显示。例如,在计算设备上运行的检测器过程可以作为收听者,用显示图形用户界面(例如,使用处理函数)的应用程序(或操作系统)向与图形用户界面相关联的滚动事件登记。检测器过程可以通过收听者功能检测滚动事件。检测器过程也可以作为收听者向与图形用户界面相关联的动画事件登记。检测器过程可以通过收听者功能检测动画事件的开始或动画事件的停止。检测器过程也可以作为收听者向自定义活动登记以检测自定义活动的开始和结束。例如,检测器过程可以通过收听者功能检测在自定义事件开始之前的状态、在自定义事件过程中的状态以及在自定义事件结束之后的状态。
在具体实施方式中,在步骤320中,计算设备可以基于所检测的事件识别至少一个操作。由计算设备识别的操作可以是在检测事件期间可能影响视觉体验的繁重操作。例如,由计算设备识别的操作可包括早前描述的JSON解析、数据库查询、数据序列化或反序列化或者照片解码。具体实施方式考虑在检测事件期间可能影响视觉体验的任意合适操作。例如,由计算设备识别的操作可能使与图形用户界面相关联的帧速率显著减小(例如,大于35%)。对于另一示例,由计算设备识别的操作可能在长于一个帧的时间段的一段时间内(例如,对于60Hz的帧等级,大于17毫秒)暂停显示图形用户界面的应用程序的执行。即,操作可引起图形用户界面下降一个或多个帧。
计算设备可通过使用收听者或者事件消息识别至少一个操作。例如,检测器过程可以公布诸如早前描述的滚动事件、动画事件的开始、或者动画事件的结束的检测事件。同时,操作(例如,JSON解析、数据库查询等)可以订阅检测器过程。作为由检测器过程公布的事件的订阅者,操作可以通过关于检测事件的检测器过程来通知。即,计算设备可以识别至少一个操作,作为向检测器过程的订阅者,该操作通过关于检测事件的检测器过程来通知。此处,所识别的过程(订阅者)可以是由来自检测器过程和来自图形用户界面的计算设备执行的不同计算线程(或过程)。因此,在不影响检测器过程或图形用户界面的执行的情况下,计算设备可以延迟或悬置所识别的操作。
在具体实施方式中,在步骤330中,计算设备可以确定所识别的操作的状态。计算设备可以确定所识别的操作是否是空闲的。例如,当等待来自远程数据库的响应时,数据库查询操作可能是空闲的。计算设备可以确定所识别的操作是否处在处理的初始阶段(例如,正好接收输入数据)、所识别的操作是否已经是处理中的数据、或者所识别的操作是否是几乎完成的处理数据。例如,文件存取操作可能正好接收用于访问具体文件的指令。或者文件存取操作可能从具体文件检索数据。或者文件存取操作可能已经从具体文件检索过数据,并且可能正好将要返回所检索的数据。
在具体实施方式中,在步骤340中,计算设备可以至少部分基于所确定的状态来延迟所识别的操作。例如,如果所识别的操作是空闲的,则计算设备可以延迟所识别的操作。如果所识别的操作处在处理数据的初始阶段,则计算设备可以延迟所识别的操作。如果所识别的操作已经是处理中的数据或者是几乎完成的处理数据,则计算设备可能不延迟所识别的操作。如果所识别的操作已经是处理中的数据,则计算设备可以延迟所识别的操作。
在具体实施方式中,在检测事件结束后,计算设备可以恢复所识别的操作。例如,作为检测器过程的订阅者,在接收由检测器过程发布的动画事件开始后,操作可以悬置其执行。在接收由检测器过程发布的动画事件结束后,操作可以恢复其执行。
在其他实施方式中,在预定时间段之后,计算设备可以恢复所延迟的操作。即,计算设备可以暂停所识别的操作的延迟使得,例如,该延迟可能不偶然地阻挡另一计算过程的执行(在计算设备上运行),该另一计算过程等待来自所延迟的操作的结果。
在适当的情况下,具体实施方式可重复图3中的方法的一个或多个步骤。尽管本公开内容描述和示出了按照具体顺序发生的图3的方法的具体步骤,但是本公开内容考虑以任意合适的顺序发生的图3的方法的任意合适的步骤。此外,尽管本公开内容描述和示出了执行图3中的方法的具体步骤的具体部件、设备或者系统,但是本公开内容考虑执行图3中的方法的任意合适步骤的任意合适部件、设备或者系统的任意合适组合。
图4示出了示例性计算机系统400。在具体实施方式中,一个或多个计算机系统400执行本文描述或示出的一个或多个方法的一个或多个步骤。在具体实施方式中,一个或多个计算机系统400提供本文描述或示出的功能。在具体实施方式中,在一个或多个计算机系统400中运行的软件执行本文描述或示出的一个或多个方法的一个或多个步骤或者提供本文描述或示出的功能。具体实施方式包括一个或多个计算机系统400的一个或多个部分。本文中,在适当情况下,对计算机系统的引用可包含计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可包含一个或多个计算机系统。
本公开内容考虑任意合适数量的计算机系统400。本公开内容考虑采用任意合适外形的计算机系统400。作为实例并非限制性的方式,计算机系统400可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如,例如,电脑模组(COM)或者系统模组(SOM))、台式计算机系统、膝上型或者笔记本计算机系统、交互式自助服务机、主机、计算机系统网络、移动电话、个人数字助理(PDA)、服务器、平板电脑系统或者这些中两种或多种的组合。在适当的情况下,计算机系统400可包括单一式或者分布式的跨多个位置、跨多台机器、跨多个数据中心、或者驻留在云中的一个或者多个计算机系统400,并且计算机系统400可包括一个或者多个网络中的一个或者多个云部件。在适当的情况下,一个或多个计算机系统400可无实质空间或者时间限制地执行本文描述或示出的一个或多个方法的一个或多个步骤。作为实例并非限制性的方式,一个或多个计算机系统400可以实时地或以分批处理模式执行本文描述或示出的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统400可在不同时间或不同位置执行本文描述或示出的一个或多个方法的一个或多个步骤。
在具体实施方式中,计算机系统400包括处理器402、存储器404、存储介质406、输入/输出(I/O)接口408、通信接口410、以及总线412。尽管本公开内容描述并示出了具有按照具体布置的具体数量的具体部件的具体计算机系统,但是本公开内容考虑具有按照任意合适布置的任意合适数量的任意合适部件的任意合适计算机系统。
在具体实施方式中,处理器402包括用于执行指令的硬件,诸如构成计算机程序的那些指令。作为实例并非限制性的方式,为了执行指令,处理器402可检索(或者获取)来自内部寄存器、内部缓存、存储器404、或者存储介质406的指令、对其进行解码并且执行指令、然后将一条或多条结果写入内部寄存器、内部缓存、存储器404、或者存储介质406中。在具体实施方式中,处理器402可以包括用于数据、指令或地址的一个或多个内部缓存。在适当的情况下,本公开内容考虑包括任意合适数量的任意合适内部缓存的处理器402。作为实例并非限制性的方式,处理器402可包括一个或多个指令缓存、一个或多个数据缓存以及一个或多个翻译后备缓冲器(TLB)。在指令缓存中的指令可以是在存储器404或存储介质406中的指令的副本,并且指令缓存可以加速处理器402对那些指令的检索。在数据缓存中的数据可以是在用于在处理器402中执行指令的存储器404或存储介质406中的数据的副本、用于由在处理器402中执行的后续指令访问或用于写入存储器404或存储介质406的在处理器402中执行的先前的指令的结果或者其他合适的数据。数据缓存可加速处理器402的读取或写入操作。TLB可加速处理器402的虚拟地址翻译。在具体实施方式中,处理器402可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开内容考虑包括任意合适数量的任意合适内部寄存器的处理器402。在适当的情况下,处理器402可包括一个或者多个算法逻辑单元(ALU);并且可以是多核处理器;或者包括一个或者多个处理器402。尽管本公开内容描述和示出了具体处理器,但是本公开内容考虑任意合适处理器。
在具体实施方式中,存储器404包括主存储器,主存储器用于存储处理器402执行的指令或处理器402操作的数据。作为实例并非限制性的方式,计算机系统400可以从存储介质406或另一来源(诸如,例如,另一计算机系统400)加载指令到存储器404。处理器402可以从存储器404加载指令到内部寄存器或内部缓存。为了执行指令,处理器402可从内部寄存器或内部缓存检索指令并且将它们解码。在指令的执行过程之中或者之后,处理器402可将一个或多个结果(其可以是中间结果或最终结果)写入到内部寄存器或内部缓存。然后,处理器402可将那些结果中的一个或多个写入到存储器404。在具体实施方式中,处理器402只执行在一个或多个内部寄存器或内部缓存或存储器404(与存储介质406或其他位置相反)中的指令,并且只操作在一个或多个内部寄存器或内部缓存或存储器404(与存储介质406或其他位置相反)中的数据。一个或多个存储器总线(其均可包括地址总线和数据总线)可将处理器402耦接至存储器404。如下所述,总线412可包括一个或多个存储器总线。在具体实施方式中,一个或多个存储器管理单元(MMU)存在于处理器402和存储器404之间并促成处理器402要求对存储器404的访问。在具体实施方式中,存储器404包括随机存取存储器(RAM)。在适当的情况下,RAM可是易失性存储器。在适当的情况下,这个RAM可以是动态RAM(DRAM)或者静态RAM(SRAM)。此外,在适当的情况下,这个RAM可以是单端口式或者多端口式RAM。本公开内容考虑任意合适的RAM。在适当的情况下,存储器404可以包括一个或多个存储器404。尽管本公开内容描述和示出了具体的存储器,但是本公开内容考虑任意合适的存储器。
在具体实施方式中,存储介质406包括用于数据或指令的大容量存储介质。作为实例并非限制性的方式,存储介质406可包括硬盘驱动(HDD)、软盘驱动、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动或者这些中两个或多个的组合。在适当的情况下,存储介质406可包括移动或非移动(或固定的)的介质。在适当的情况下,存储介质406可以是计算机系统400内部或外部的。在具体实施方式中,存储介质406是非易失性的固态存储器。在具体实施方式中,存储介质406包括只读存储器(ROM)。在适当的情况下,ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可更改ROM(EAROM)、或者闪存、或者这些中两个或多个的组合。本公开内容考虑采用任意合适外形的大容量存储介质406。在适当的情况下,存储介质406可包括一个或多个促进处理器402与存储介质406之间的通信的存储控制单元。在适当的情况下,存储介质406可包括一个或多个存储介质406。尽管本公开内容描述和示出了具体的存储介质,但是本公开内容考虑任意合适的存储介质。
在具体实施方式中,I/O接口408包括为在计算机系统400与一个或多个I/O设备之间的通信提供一个或多个接口的硬件、软件或这两者。在适当的情况下,计算机系统400可包括这些I/O设备的一个或多个。这些I/O设备的一个或多个可使个人与计算机系统400之间能够通信。作为实例并非限制性的方式,I/O设备可包括键盘、按键、麦克风、监控器、鼠标、打印机、扫描仪、扬声器、静物照相机、触控笔、平板、触摸屏、追踪球、摄影机、其他合适的I/O设备或这些中两个或多个的组合。I/O设备可包括一个或者多个传感器。本公开内容考虑任意合适的I/O设备以及它们的任意合适的I/O接口408。在适当的情况下,I/O接口408可包括使处理器402能够驱动这些I/O设备的一个或多个的一个或多个设备或软件驱动器。在适当的情况下,I/O接口408可包括一个或多个I/O接口408。尽管本公开内容描述和示出了具体的I/O接口,但是本公开内容考虑任意合适的I/O接口。
在具体实施方式中,通信接口410包括为在计算机系统400与一个或多个其他计算机系统400或一个或多个网络之间的通信(诸如,例如,基于数据包的通信)提供一个或多个接口的硬件、软件或这两者。作为实例并非限制性的方式,通信接口410可包括用于与以太网或其他基于有线网络通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(诸如WI-FI网络)通信的无线NIC(WNIC)或无线适配器。本公开内容考虑任意合适的网络和它的任意合适的通信接口410。作为实例并非限制性的方式,计算机系统400可与自组织网络、个人区域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或因特网的一个或多个部分或这些中两个或多个的组合通信。这些网络中的一个或多个的一个或多个部分可以为有线或无线。例如,计算机系统400可以与无线PAN(WPAN)(诸如,例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如,例如,全球移动通信系统(GSM)网络)或其他合适的无线网络或这些中两个或多个的组合通信。在适当的情况下,计算机系统400可包括用于任意这些网络的任意合适的通信接口410。在适当的情况下,通信接口410可包括一个或多个通信接口410。尽管本公开内容描述和示出了具体的通信接口,但是本公开内容考虑任意合适的通信接口。
在具体实施方式中,总线412包括将计算机系统400的部件彼此耦接的硬件、软件或者这两者。作为实例并非限制性的方式,总线412可包括图形加速端口(AGP)或其他图形总线、增强工业标准结构(EISA)总线、前侧总线(FSB)、超传输(HT)互连、工业标准结构(ISA)总线、无限带宽互连、低引脚计数(LPC)总线、存储器总线、微通道结构(MCA)总线、外围部件互连(PCI)总线、PCI表示(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线或者另一合适的总线或者这些中两个或多个的组合。在适当的情况下,总线412可包括一个或多个总线412。尽管本公开内容描述和示出了具体的总线,但是本公开内容考虑任意合适的总线或者互连。
本文中,在适当的情况下,计算机可读非易失性存储介质或介质可包括一个或多个半导体基纳或其他集成电路(IC)(诸如,例如,现场可编程门阵列(FPGA)或应用程序-特定IC(ASIC))、硬盘驱动(HDD)、混合的硬盘驱动(HHD)、光盘、光碟驱动(ODD)、磁光盘、磁石式光驱动、软盘、软盘驱动(FDD)、磁带、固态驱动(SSD)、RAM-驱动、安全数码卡或驱动、任意其他合适的计算机可读非易失性存储介质或者任意合适这些中两个或多个的组合。在适当的情况下,计算机可读非易失性存储介质可以是易失的、非易失的,或者易失与非易失的组合。
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括性的而不是排除性的。因此,在本文中,除非另有明确指示或通过上下文另有指示,否则“A或B”意味着“A、B、或这两者”。此外,除非另有明确指示或者上下文另有指示,否则,“和”为联合和多个的。因此,本文中,除非另有明确指示或者上下文另有指示,否则,“A和B”指“连带的或各自的A和B”。
本公开内容的范围包含本领域普通技术人员应当理解的对本文中描述或示出的示例性实施方式的所有变化、替代、改变、变更以及修改。本公开内容的范围并不局限于本文中所描述或示出的示例性实施方式。此外,尽管本公开内容将本文中各个实施方式描述并且示出为包括具体部件、元件、功能、操作或步骤,但是本领域普通技术人员应当理解的是,这些实施方式中的任意一个可包括本文中任意地方描述或示出的任意部件、元件、功能、操作或步骤的任意组合或排列。而且,不管装置、系统或部件或者其具体功能是否激活、打开或者解锁,只要其是适配、安排、能够、配置、使能、可操作的、或者运转的,在所附权利要求中引用的装置或系统或者装置或系统的部件都是适配为、安排为、能够、配置为、使能够、可操作以、或运转以执行包含装置、系统、部件的具体功能。

Claims (5)

1.一种方法,包括:
由计算设备检测对应于在图形用户界面中的变化的事件,所述图形用户界面由所述计算设备显示;
由所述计算设备基于检测的所述事件识别至少一个操作;
由所述计算设备确定识别的所述操作的状态;以及
由所述计算设备至少部分基于确定的所述状态来延迟识别的所述操作。
2.根据权利要求1所述的方法,进一步包括,由所述计算设备:
在预定时间段之后,恢复延迟的所述操作。
3.根据权利要求1所述的方法,其中,所述变化超过预定的阈值。
4.根据权利要求1所述的方法,其中,所述事件包括滚动事件、动画事件、或者自定义事件。
5.根据权利要求1所述的方法,其中,识别的所述操作包括Java脚本对象表示法(JSON)解析、数据库查询、数据序列化或者反序列化、或者照片解码。
CN201480028552.1A 2013-03-15 2014-03-12 在滚动时延迟繁重操作 Active CN105229691B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/841,817 2013-03-15
US13/841,817 US10592278B2 (en) 2013-03-15 2013-03-15 Defer heavy operations while scrolling
PCT/US2014/024839 WO2014151048A1 (en) 2013-03-15 2014-03-12 Defer heavy operations while scrolling

Publications (2)

Publication Number Publication Date
CN105229691A true CN105229691A (zh) 2016-01-06
CN105229691B CN105229691B (zh) 2020-02-18

Family

ID=51534457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480028552.1A Active CN105229691B (zh) 2013-03-15 2014-03-12 在滚动时延迟繁重操作

Country Status (11)

Country Link
US (1) US10592278B2 (zh)
EP (1) EP2972722B1 (zh)
JP (1) JP6449843B2 (zh)
KR (1) KR102242606B1 (zh)
CN (1) CN105229691B (zh)
AU (1) AU2014235402B2 (zh)
BR (1) BR112015022830A2 (zh)
CA (1) CA2904645A1 (zh)
IL (1) IL241259A0 (zh)
MX (1) MX365894B (zh)
WO (1) WO2014151048A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140201626A1 (en) * 2013-01-14 2014-07-17 Tomveyi Komlan Bidamon Social media helping users to contribute, value and identify their culture and race while creating greater inter- and intra-cultural relationships on common grounds of interest
US10608900B2 (en) * 2015-11-04 2020-03-31 Microsoft Technology Licensing, Llc Generating a deferrable data flow
US10761714B2 (en) * 2015-11-23 2020-09-01 Google Llc Recognizing gestures and updating display by coordinator
US10515121B1 (en) * 2016-04-12 2019-12-24 Tableau Software, Inc. Systems and methods of using natural language processing for visual analysis of a data set
CN110209557B (zh) * 2019-03-16 2022-05-17 平安科技(深圳)有限公司 用户操作录制还原方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0685791B1 (en) * 1994-04-29 2003-01-15 Intergraph Corporation User controllable concurrent functionality
CN101828166A (zh) * 2007-10-19 2010-09-08 微软公司 动态更新的虚拟列表视图
CN102455909A (zh) * 2011-02-25 2012-05-16 中标软件有限公司 一种演示文稿文档异步加载的方法
US20120194519A1 (en) * 2011-01-28 2012-08-02 Strangeloop Networks Inc. Image Optimization

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3488404B2 (ja) 1999-09-22 2004-01-19 京セラ株式会社 携帯型電話装置及びその表示方法
US6941449B2 (en) 2002-03-04 2005-09-06 Hewlett-Packard Development Company, L.P. Method and apparatus for performing critical tasks using speculative operations
US7441233B1 (en) 2002-12-20 2008-10-21 Borland Software Corporation System and method providing status indication for long-running modal tasks
US7562362B1 (en) 2003-06-18 2009-07-14 Apple Inc. User control of task priority
US7426696B1 (en) * 2005-07-15 2008-09-16 Minerva Networks, Inc. Method and system for image windowing
JP5025217B2 (ja) 2006-10-02 2012-09-12 京セラ株式会社 情報処理装置、情報処理方法および情報処理プログラム
WO2010047174A1 (ja) 2008-10-24 2010-04-29 インターナショナル・ビジネス・マシーンズ・コーポレーション ソース・コード処理方法、システム、及びプログラム
US10768611B2 (en) 2009-06-16 2020-09-08 Applied Materials, Inc. Counter and timer constraints
US8468534B2 (en) 2010-04-05 2013-06-18 Apple Inc. Dynamic priority queuing
US8713277B2 (en) 2010-06-01 2014-04-29 Apple Inc. Critical word forwarding with adaptive prediction
US9754043B2 (en) * 2010-07-09 2017-09-05 Facebook, Inc. Rendering structured documents with place-markers
KR101696887B1 (ko) * 2010-07-29 2017-01-17 삼성전자주식회사 무선 통신 장치를 위한 유에스비 연결장치
US8766984B2 (en) * 2010-08-20 2014-07-01 Qualcomm Incorporated Graphics rendering methods for satisfying minimum frame rate requirements
US8560635B1 (en) * 2011-03-30 2013-10-15 Google Inc. User experience of content rendering with time budgets
US9182897B2 (en) 2011-04-22 2015-11-10 Qualcomm Incorporated Method and apparatus for intuitive wrapping of lists in a user interface
JP2012253712A (ja) 2011-06-07 2012-12-20 Sharp Corp 映像コンテンツ再生装置、映像コンテンツ再生方法、プログラム、及び記録媒体
US8819303B2 (en) * 2011-07-25 2014-08-26 General Instrument Corporation Deferred transfer of content to optimize bandwidth usage
JP2013046357A (ja) 2011-08-26 2013-03-04 Sharp Corp 画像再生装置、画像再生方法および画像再生プログラム
US9591098B2 (en) * 2012-02-01 2017-03-07 Cisco Technology, Inc. System and method to reduce stream start-up delay for adaptive streaming
US9367641B2 (en) * 2012-12-27 2016-06-14 Qualcomm Innovation Center, Inc. Predictive web page rendering using a scroll vector

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0685791B1 (en) * 1994-04-29 2003-01-15 Intergraph Corporation User controllable concurrent functionality
CN101828166A (zh) * 2007-10-19 2010-09-08 微软公司 动态更新的虚拟列表视图
US20120194519A1 (en) * 2011-01-28 2012-08-02 Strangeloop Networks Inc. Image Optimization
CN102455909A (zh) * 2011-02-25 2012-05-16 中标软件有限公司 一种演示文稿文档异步加载的方法

Also Published As

Publication number Publication date
EP2972722A1 (en) 2016-01-20
BR112015022830A2 (pt) 2017-07-18
MX2015012643A (es) 2016-08-11
US20140282129A1 (en) 2014-09-18
CA2904645A1 (en) 2014-09-25
JP6449843B2 (ja) 2019-01-09
KR20150130550A (ko) 2015-11-23
AU2014235402B2 (en) 2019-09-19
MX365894B (es) 2019-06-19
KR102242606B1 (ko) 2021-04-22
CN105229691B (zh) 2020-02-18
US10592278B2 (en) 2020-03-17
AU2014235402A1 (en) 2015-11-05
EP2972722A4 (en) 2016-12-21
WO2014151048A1 (en) 2014-09-25
IL241259A0 (en) 2015-11-30
EP2972722B1 (en) 2021-06-09
JP2016517085A (ja) 2016-06-09

Similar Documents

Publication Publication Date Title
JP6273049B2 (ja) イメージの提示
JP6122530B2 (ja) コンテンツ・アイテムに関連するアニメーション・シーケンス
JP6151792B2 (ja) コメントの提示
JP5956694B2 (ja) フィードバック・ユーザ・インターフェース要素に関連するアニメーション・シーケンス
JP6427616B2 (ja) ディスプレイ・オブジェクトの前生成
JP6243487B2 (ja) イメージ・パニングおよびズーミング効果
JP5981661B2 (ja) イメージに関連するアニメーション・シーケンス
US20190138331A1 (en) Contextual and Personalized Help
KR101777304B1 (ko) 관심 지점에 따라 이미지 잘라내기
KR101581831B1 (ko) 계층적 형태로의 검색 결과의 제시 방법 및 시스템
CN105103084A (zh) 基于位置或者速度改变用户界面
JP2015535122A (ja) 一連のコンテンツ・アイテムのスクロール
CN111179105A (zh) 生成离线内容
US10534814B2 (en) Generating snippets on online social networks
JP6313425B2 (ja) アプリケーションに適合したオブジェクトの再使用およびリサイクル
JP6563893B2 (ja) ユーザ・インターフェースにおける構成要素のコンテンツの変更
JP2019096352A (ja) フレキシブルなイメージ・レイアウト
JP6412109B2 (ja) アプリケーションに適合したオブジェクトのプレインフレート
KR20160014675A (ko) 이미지에 대한 문맥형 대체 텍스트
CN105229691A (zh) 在滚动时延迟繁重操作
WO2018177415A1 (zh) 搜索结果推荐方法、设备、搜索引擎及电子设备和介质
US20190139081A1 (en) Conversion activity relating to in-map advertisements

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Yuan platform Co.

Address before: California, USA

Patentee before: Facebook, Inc.