CN105283835A - 应用程序定制的对象预填充 - Google Patents
应用程序定制的对象预填充 Download PDFInfo
- Publication number
- CN105283835A CN105283835A CN201480033926.9A CN201480033926A CN105283835A CN 105283835 A CN105283835 A CN 105283835A CN 201480033926 A CN201480033926 A CN 201480033926A CN 105283835 A CN105283835 A CN 105283835A
- Authority
- CN
- China
- Prior art keywords
- display object
- filled
- user
- computing equipment
- distribution
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 25
- 230000006855 networking Effects 0.000 description 54
- 238000004891 communication Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 16
- 230000009471 action Effects 0.000 description 13
- 230000002452 interceptive effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 210000000746 body region Anatomy 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 210000000630 fibrocyte Anatomy 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000011269 treatment regimen Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
在一个实施方式中,计算设备接收对内容布局在与其相关联的屏幕的可显示区域中的第一部分中的内容的请求。该设备可以在内容布局的第二部分中,预填充显示对象的至少一个选择的元素,并且随后将该元素存储在应用程序定制的循环器中。可基于可显示区域的尺寸、计算设备的可用内存、或者应用程序特定的规则选择至少一个选择的元素。响应于内容布局的第二部分中的内容的请求,随后,该设备可从应用程序定制的循环器中检索元素,根据需要为内容布局的第二部分更新显示对象的其他元素,并且返回显示对象。
Description
技术领域
本公开大体涉及对象生命周期管理。
背景技术
创建显示对象并填充它们会构成内容密集型应用程序延迟的重要原因,尤其是具有变量和/或冗长部分内容的内容布局,诸如列表或网格。当内容延伸得超过可显示区域(需要用户滚动内容布局以把内容带入视野)的具体显示屏幕呈现内容布局时,为了可以创建显示对象、嵌套式显示对象、以及其他内容元素,当它们进入视野时填充他们,并且当它们从视野消失时,回收它们。显示对象的请求驱动的实时填充可能被证明不足以满足这种内容密集型应用程序的要求。
发明内容
为了促进在定制应用程序类型中的显示对象的预填充,应用程序可以应用应用程序特定的策略以确定如何选择性地仅预填充那些填充最耗成本的显示对象和/或其元素。
在接收用于显示内容布局的具体部分的请求之前,应用程序可以选择预填充内容布局的具体部分的元素,填充那些选择的元素,并且在循环器中储存预填充的元素。当再次请求相同内容元素时,应用程序从循环器检索显示对象,将该显示对象装入包装对象中,并且返回包装的显示对象。本文中描述的实施方式同样可以用显示对象的元素执行,其中一些可包括嵌套的显示对象。
附图说明
图1A是使用显示对象呈现的内容布局的线框图。
图1B是示出了图1A的详细部分的线框图。
图2示出了用于应用程序定制的对象预填充的示例性方法。
图3示出了与社交网络系统相关联的示例性网络环境。
图4示出了示例性社交图谱。
图5示出了示例性计算机系统。
具体实施方式
为了促进在定制应用程序类型中的显示对象的预填充,应用程序可以应用具体应用程序策略以确定如何选择性地仅预填充那些填充最耗成本的显示对象和/或其元素。
在接收用于显示内容布局的具体部分的请求之前,应用程序可以选择预填充内容布局的具体部分的元素,填充那些选择的元素,并且在循环器中储存预填充的元素。当再次请求相同内容元素时,应用程序从循环器检索显示对象,将该显示对象装入包装对象中,并且返回包装的显示对象。本文中描述的实施方式同样可以用显示对象的元素执行,其中一些可包括嵌套的显示对象。
与实现循环器的方法有关,具体实施方式可利用在2013年4月11日提交的、题为“Application-TailoredObjectRecycling”的美国专利申请第13/861,250号中公开的一个或多个系统、部件、元素、功能、方法、操作、或步骤,其通过引用结合于本文中。
图1A是示出了用于社交网络系统的用户的内容布局100新鲜事页面的示例性线框图,该社交网络系统被基于许多显示对象呈现以在平板设备上显示。内容布局100的可显示区域(由虚线表示)包括内容布局100的将要适合在平板设备的屏幕尺寸内(折线以上)的部分。
内容布局100包括标题区域110、菜单栏120、左侧边栏130、右侧边栏140、以及主体区域150。每个区域与其自身的显示对象相关联,其中每个均可包括许多元素,诸如,作为示例并非限制性方式,图像(多个图像)、视频、文本、链接、格式以及互动元素。这些元素中的每一个均可由一个或多个嵌套显示对象表示。
与标题区域110相关联的显示对象包括,社交网络用户的互动资料照片112、文本块114、背景图像116、由社交网络用户选择的主题音乐。互动资料照片112基于可包括图像、文本、链接、以及Java脚本代码的显示对象而呈现以呈现弹出式窗口,当诸如鼠标的点控设备在资料照片上悬停时,该弹出式窗口显示出现的社交网络用户的资料的总和。
与菜单栏120相关联的显示对象包括五个菜单选项125A-F,其中每一个均包括图像、文本以及链接。
与左侧边栏130相关联的显示对象包括用于推荐组合的内容(包含赞助故事)(仅示出了135A-E,但是可以有更多推荐),其中每一个均基于显示对象而呈现。用于推荐的每个显示对象可包括用于推荐的互动图像、标题、文本、以及获取与该推荐相关联的进一步信息的链接。用于新鲜事项的每个显示对象同样可包括一种或多种图像或者视频。
与右侧边栏140相关联的显示对象包括用于一个或多个广告145的内容,其中每一个基于显示对象而呈现。如在图1A中示出的实施例所示出的,广告145A出现在折线以上,然而145B尚未在视野中。广告的内容可以通过第三方广告商来至少部分地确定。
与主体区域150相关联的显示对象包括许多新鲜事项(仅示出了155A-E,但是可以有更多的新鲜事项),其中每一个均基于显示对象而呈现,该显示对象与涉及用户的好友(即,社交图谱连接)的活动相关联。
图1B是示出了图1A的详细部分的线框图:内容布局100的主体区域150中的新鲜事项155B-E。如在图1A中所表示的,内容布局100的可显示区域(由虚线表示)包括内容布局100的将要适合在平板设备的屏幕之上的部分。
用于新鲜事项155的每个显示对象可包括:好友160的互动资料照片、好友165的名字、用于新鲜事项170的文本、时间敏感信息175(例如,不断更新已经观看/评论/"喜欢”该列表的人的数量的计数、最近已经观看/评论/"喜欢”该列表的一个或者两个人的短列表等)、“喜欢”新鲜事项180的链接、在新鲜事项185上的评论的链接、以及“分享”新鲜事项190的链接。用于新鲜事项的每个显示对象同样可包括一个或多个图像195或者视频。
每个互动资料照片160基于可包括图像、文本、链接、以及Java脚本代码的显示对象而呈现以呈现弹出式窗口,当诸如鼠标的点控设备在资料照片上悬停时,该弹出式窗口显示出现的社交网络用户的资料的总和。
图2示出了用于显示对象的控制应用程序的预填充的示例性方法。在步骤210中,应用程序可以确定可显示区域的尺寸,如在以下步骤250中所描述的,该信息可能影响选择预填充的显示对象的元素的过程。可显示区域包括一个区域,其中,使用与显示对象相关联的内容来呈现内容布局(或其一部分)。可显示区域可以基于任何相关的信息来确定,诸如,作为示例并非限制性方式:屏幕的尺寸、屏幕的长宽比、要呈现的内容的类型、具体应用程序因素(例如,基于用户是否是不需要广告服务的付费订阅者,而使内容布局相异)、用户配置的设置(例如,重新调整窗口大小),用户偏好(例如,阻止弹出式窗口)等。
在步骤220中,应用程序可以确定设备上的可用内存,如在以下步骤250中所描述的,该信息可能影响选择预填充的显示对象的元素的过程。
在步骤230中,应用程序可以确定创建用于特定内容布局的显示对象。例如,如果用户请求他们的基于新鲜事的社交网络信息,则应用程序可以创建用于新鲜事内容布局的显示对象。
在步骤240中,应用程序可以接收对具体内容的请求(例如,包括在图1A中表示的可显示区域中的内容,其包括标题区域110、菜单栏120、左侧边栏130的包括推荐135A的部分、右侧边栏140的包括广告145A的部分、以及主体区域150的包括新鲜事项155A的部分),其可以使用包含请求内容的显示对象响应该请求。如上所述,显示对象可包括许多元素,其本身可以是显示对象。例如,新鲜事项155C包括可通过显示对象而呈现的互动资料照片160。
在步骤250中,应用程序可以基于可显示区域的尺寸、可用内存、以及具体应用程序规则来选择预填充的显示对象的元素。在具体实施方式中,具体应用程序规则可以对填充更耗成本的显示对象的元素的选择划分优先级。填充元素的成本可以在任何适用的基础上来确定,例如,元素的尺寸、元素的复杂性(例如,元素是嵌套的显示对象吗?)、元素必须多久更新一次、平台的容量和配置(例如,设备缺乏对客户端脚本(其使替换可选的、简单的内容成为必需)的支持或者设备禁止客户端脚本的执行吗?)等。
在具体实施方式中,尤其是相对于基于列表或基于网格的内容布局,可以通过具体应用程序规则设置预填充元素的增量,其中,该增量是由适合在可显示区域中的尺寸的列表或者网格事项的数量定义的单元的倍数。例如,如图1B所示出的,四个新鲜事项可以填充可显示区域的垂直尺寸,其中,内容布局可在垂直尺寸上延伸(并不是水平尺寸)。在这个实例中,具体应用程序规则确定该单元包括四个新鲜事项(因为这将将填充得超出可显示区域),并且设置用于增加到三的倍数,以便当应用程序响应于显示新鲜事项155B-E的请求时,它同样预填充用于下十二个新鲜事项所选择的元素。
在具体实施方式中,倍数可基于具体用户使用图案。例如,如果用户通常相对慢地在新鲜事中滚动,则倍数可以是更小值。相反,如果用户通常相对快地在新鲜事至滚动,则倍数可以是更大值。
在具体实施方式中,倍数可基于用于列表或者网格元素的内容的属性。例如,如果内容是非常丰富的一类,并且用户可能花费更长的时间来浏览该内容(例如,随着用户在每一个上滑动鼠标而播放的视频缩略图),则倍数可能降低。
在具体实施方式中,具体应用程序规则可以基于可用内存而对显示对象的元素的选择划分优先级。例如,如果没有许多可用内存,则应用程序可选择仅预填充最耗成本的元素,然而,如果有更多可用内存,则可预填充额外元素(稍微不太耗成本的元素)。在另一示例中,如果没有许多可用内存,则应用程序可选择预填充那些可能经常再使用的元素,例如,如果所有的下十个新鲜事项都与张贴相同复杂链接(其包括图像、文本、链接以及其他信息)至受欢迎的在线文章的人相关联,则表示复杂链接的元素可接收高于其他元素的优先级。
在步骤260中,应用程序可预填充显示对象中所选择的元素。作为预填充选择的元素的部分(其本身可以是显示对象),具体实施方式可以在所选择的元素的环境内执行步骤250-步骤290。
在步骤270中,应用程序可以在定制应用程序循环器中存储显示对象的预填充元素。这些存储元素可保持在循环器中直至内容布局的相关部分被为可显示区域请求。
在步骤280中,应用程序可以检索显示对象的任何预填充元素,该显示对象可以在定制应用程序循环器中用于呈现可显示区域的内容。然而,因为循环器可以包含先前使用的显示对象和其元素以及预填充的显示对象和其元素,所以具体实施方式可以应用定制应用程序循环策略以识别循环器中的哪些显示对象和其元素适于再使用,其可包括已经被预填充的那些。
在具体实施方式中,如果显示对象使用相同的类层次结构填充作为当前请求的显示对象,则在循环器中的该显示对象可能适于再使用。在具体实施方式中,如果显示对象使用相同的XML说明书填充作为当前请求的显示对象,则在循环器中的该显示对象可能适于再使用。
如果显示对象是相同类型的对象但是是使用不同内容填充的,则在循环器中的显示对象可能适于循环。在这种情况下,应用程序可以从头填充显示对象(其对任何预填充的显示对象或其元素是不必要的),从而大部分覆写不是在显示对象中的所有现有内容。
确定显示对象和其元素适于再使用、循环,或者这两者都不取决于具体应用程序、具体识别、和/或具体用户预填充策略。在具体实施方式中,应用程序可以根据应用程序要求、内容类型、识别属性(例如,可用内存和/或显示屏幕的尺寸)、内容数据、使用模式和喜好、或任何其他合适因素(多个因素)来设置预填充策略。这种策略可以支配多少对象保持在循环器中、什么类型的对象储存在循环器中、如何确定显示对象是否适于再使用和/或循环、何时再使用与循环显示对象等。
如果循环器返回空值,则应用程序创建适当类型的新显示对象以显示所请求的内容,并且随后填充该显示对象。这是最耗成本的路径,因为创建新显示对象和填充显示对象都是耗成本的操作。因此,当确定何时禁止另外存储在循环器中的合适的显示对象的循环时,应用程序可能需要平衡冲突优先级。
在步骤290中,应用程序可以响应于该请求返回显示对象。
本文中公开的实施方式被描述为相对于显示对象的元素而执行,然而,在具体实施方式中,本文中描述的技术可以递归方式应用至显示对象的某些元素(其本身可以是显示对象)以预填充那些元素的一部分或者所有。
本文中公开的实施方式被描述为由应用程序执行;然而,如本领域中技术人员之一可以察觉到的,在示例性方法200中以及在本文中公开的其他实施方式中的许多步骤可以通过在一个或多个抽象层上操作的一个或多个软件来执行。例如,上述示例性方法的步骤可以通过分别执行应用程序和与应用程序和循环器交互的软件来执行。
在适当的情况下,具体实施方式可重复图2中的方法的一个或者多个步骤。尽管本公开描述并且示出了图2中以具体顺序发生的方法的具体步骤,然而本公开预期了图2中以任一合适顺序发生的方法的任意合适步骤。而且,尽管本公开描述并且示出了完成图2中的方法的具体步骤的具体部件、设备、或者系统,然而本公开预期了完成图2中的方法的任一合适步骤的任一合适部件、设备、或者系统的任一合适组合。
图3示出了与社交网络系统相关联的示例性网络环境300。网络环境300包括用户301、客户端系统330、社交网络系统360、以及通过网络310彼此连接的第三方系统370。尽管图3示出了用户301、客户端系统330、社交网络系统360、第三方系统370、以及网络310的具体布置,但是,本公开考虑用户301、客户端系统330、社交网络系统360、第三方系统370、以及网络310的任意合适布置。作为实例并非限制性方式,客户端系统330、社交网络系统360以及第三方系统370中的两个或多个可旁通网络310直接彼此连接。作为另一个实例,客户端系统330、社交网络系统360、以及第三方系统370中的两个或多个可以整体或部分在物理上或逻辑上彼此共置。此外,尽管图3示出了具体数量的用户301、客户端系统330、社交网络系统360、第三方系统370、以及网络310,但是,本公开考虑任意合适数量的用户301、客户端系统330、社交网络系统360、第三方系统370、以及网络310。作为实例并非限制性方式,网络环境300可包括多个用户301、客户端系统330、社交网络系统360、第三方系统370、以及网络310。
在具体实施方式中,用户301可以是与社交网络系统360交互或者通信或通过社交网络系统160交互或者通信的个体(人类用户)、实体(例如,企业、商家或第三方应用)或者组(例如,个体的或者实体的)。在具体实施方式中,社交网络系统360可以是承载在线社交网络的网络可寻址计算系统。社交网络系统360可生成、存储、接收、以及发送社交网络数据,例如,用户资料数据、概念资料数据、社交图谱信息、或者与在线社交网络相关联的其他合适数据。社交网络系统360可直接地或者经由网络310,通过网络环境300的其他部件访问。在具体实施方式中,社交网络系统360可包括授权服务器(或者其他合适的部件(多个部件)),该授权服务器允许用户301确定采用或确定不采用使它们的行为被社交网络系统360记录或例如通过设置适当的隐私设置与其他系统(例如,第三方系统370)共享它们的行为。用户的隐私设置可以确定与用户相关联的什么信息可以被记录、与用户相关联的信息可以如何被记录、与用户相关联的信息可以何时被记录、什么人可以记录与用户相关联的信息、谁可以分享与用户相关联的信息、以及为了什么目的与用户相关联的信息可以被记录或者分享。授权服务器可通过阻挡、数据散列、匿名化或者其他视情况而定的合适技术,用于执行一种或多种社交网络系统360的用户的隐私设置。第三方系统370可以直接地或经由网络310,通过网络环境300的其他部件访问。在具体实施方式中,一个或多个用户301可以使用一个或多个客户系统330访问社交网络系统360或第三方系统370,将数据发送至社交网络系统360或第三方系统370,并且从社交网络系统360或第三方系统370接收数据。,客户端系统330可以直接地、经由网络310、或者经由第三方系统访问社交网络系统360或第三方系统370。作为实例并非限制性方式,客户端系统330可以经由社交网络系统360访问第三方系统370。客户端系统330可以是诸如个人计算机、膝上型电脑、蜂窝电话、智能电话或者平板电脑等任意合适的计算设备。
本公开考虑任意合适的网络310。作为实例并非限制性方式,网络310中的一个或多个部分可包括:自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网络、或者这些中两个或多个的组合。网络310可包括一个或多个网络310。
链路350可将客户端系统330、社交网络系统360、以及第三方系统370连接至通信网络310或者彼此连接。本公开考虑任意合适的链路350。在具体实施方式中,一条或多条链路350包括一条或多条有线链路(诸如,例如数字用户线路(DSL)或电缆数据服务接口规范(DOCSIS))、无线链路(诸如,例如Wi-Fi或全球互通微波存取(WiMAX))、或者光链路(诸如,同步光纤网(SONET)或同步数字体系(SDH))。在具体实施方式中,一条或多条链路350均包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一条链路350或者两个或多个此类链路350的组合。在整个网络环境300中,链路350不必相同。一条或多条第一链路350可在一个或多个方面不同于一条或多条第二链路350。
图4示出了示例性社交图谱400。在具体实施方式中,社交网络系统360可将一个或多个社交图谱400存储在一个或多个数据存储中。在具体实施方式中,社交图谱400可包括多个节点——其可包括多个用户节点402或多个概念节点404以及将节点连接的多条矢线406。出于教导之目的,以二维可视图表示,示出了图4中所示出的示例性社交图谱400。在具体实施方式中,社交网络系统360、客户端系统330或者第三方系统370可访问社交图谱400和用于合适应用程序的相关联的社交图谱信息。例如,社交图谱400的节点和矢线可作为数据对象存储在数据存储(诸如,社交图谱数据库)中。这种数据存储可包括社交图谱400的节点或矢线的一个或多个可查找的或者可搜寻的索引。
在具体实施方式中,用户节点402可与社交网络系统360的用户对应。作为示例被非限制性方式,用户可以是与社交网络系统360交互或者通信或通过社交网络系统360交互或者通信的个体(人类用户)、实体(例如,企业、商家或第三方应用)或者组(例如,个体或者实体)。在具体实施方式中,当用户在社交网络系统360中注册账户时,社交网络系统360可创建对应于该用户的用户节点402,并且将用户节点402存储在一个或多个数据存储中。在适当的情况下,此处所描述的用户和用户节点402可指注册用户和与注册用户相关联的用户节点402。另外或者作为替代,在适当情况下,此处所描述的用户和用户节点402可指未注册至社交网络系统360的用户。在具体实施方式中,用户节点402可与通过用户提供的信息或者通过各种系统(包括社交网络系统360)收集的信息相关联。作为示例并非限制性方式,用户可以提供他或她的名字、个人资料图片、联系信息、生日、性别、婚姻状况、家庭状况、工作情况、教育背景、偏好、兴趣或其他人口统计信息。在具体实施方式中,用户节点402可以与用户相关联的信息对应的一个或多个数据对象相关联。在具体实施方式中,用户节点402可与一个或多个网页对应。
在具体实施方式中,概念节点404可与概念对应。作为实例并非限制性方式,概念可对应于地点(诸如,例如电影院、餐馆、地标或者城市);网站(诸如,例如与社交网络系统360相关联的网站或者与网络应用程序服务器相关联的第三方网站);实体(诸如,例如个人、商家、群体、运动团体或者名人);可以位于社交网络系统360内或外部服务器(诸如,网络应用程序服务器)上的资源(诸如,例如音频文件、视频文件、数字照片、文本文件、结构文档或者应用程序);不动产或知识产权(诸如,例如雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;构思或者理论;另一合适概念;或者两个或多个此类概念。概念节点404可以与用户提供的概念信息或者通过各种系统(包括社交网络系统360)收集的信息相关联。作为示例并非限制性方式,概念信息可包括名称或者标题;一个或多个图像(例如,书籍封面页图像);位置(例如,地址或者地理位置);网站(其可与URL相关联);联系人信息(例如,电话号码或者电子邮件地址);其他合适的概念信息;或者此类信息的任意合适组合。在具体实施方式中,概念节点404可与对应于与概念节点404相关联的信息的一个或多个数据对象相关联。在具体实施方式中,概念节点404可与一个或多个网页对应。
在具体实施方式中,社交图谱400中的节点可以表示网页(其可被称为“个人资料页面”)或者由网页表示。个人资料页面可由社交网络系统360承载或者可访问至社交网络系统360。个人资料页面还可由与第三方服务器370相关联的第三方网站承载。作为示例并非限制性方式,对应于具体的外部网页的个人资料页面可以是具体的外部网页,并且个人资料页面可以对应于具体的概念节点404。所有的其他用户或者其他用户的选择子集可查看个人资料页面。作为示例并非限制性方式,用户节点402可具有对应的用户个人资料页面,其中,对应的用户可以添加内容、做出声明或相反表达他自己或她自己。作为另一示例并非限制性方式,概念节点404可具有对应的概念资料页面,其中,一个或多个用户可具体地就对应于概念节点404的概念添加内容、做出声明或者表达他们自己。
在具体实施方式中,概念节点404可表示第三方网页或者由第三方系统370承载的资源。第三方网页或资源可包括在其他元件、内容、可选择的图标或其他图标、或者表示动作或活动的其他中间能实行的对象(例如,其可以在JavaScript、AJAX或PHP代码中实现)中。作为示例并非限制性方式,第三方网页可包括诸如“喜欢”、“签到”、“吃”、“推荐”、或者其他合适的动作或者活动的可选择的图标。浏览第三方网页的用户可通过选择使客户端系统330向社交网络系统360发送表示用户的动作的消息的图标(例如“吃”)中的一个而执行活动。响应于该消息,社交网络系统360可在对应于用户的用户节点402与对应于第三方网页或资源的概念节点404之间创建矢线(例如,“吃”矢线),并且在一个或多个数据存储中存储矢线406。
在具体实施方式中,社交图谱400中的一对节点可通过一条或多条矢线406彼此连接。连接一对节点的矢线406可以表示该一对节点之间的关系。在具体实施方式中,矢线406可包括或表示一个或多个数据对象或者对应于一对节点之间的关系的属性。作为实例并非限制性方式,第一用户可指示第二用户为第一用户的“好友”。响应于此指示,社交网络系统360可将“好友请求”发送至第二用户。如果第二用户确认该“好友请求”,则社交网络系统360可以在社交图谱400中创建将第一用户的用户节点402连接至第二用户的用户节点402的矢线406,并且在一个或多个数据存储器364中存储矢线406作为社交图谱信息。在图4的示例中,社交图谱400包括指示用户“A”与用户“B”的用户节点402之间的好友关系的矢线406,以及指示用户“C”与用户“B”的用户节点402之间的好友关系的矢线。尽管本公开内容描述或示出了具有连接具体用户节点402的具体属性的具体矢线406,但是本公开内容考虑具有连接用户节点402的任意合适属性的任意合适矢线406。作为示例并非限制性方式,矢线406可表示好友关系、亲属关系、业务关系或工作关系、粉丝关系、关注关系、访客关系、客户关系、上级/下属关系、相互关系、非相互关系、另一合适类型关系或者两种或多种此类关系。此外,尽管本公开内容大体描述了处于连接的节点,但是本公开内容也描述了处于连接的用户或概念。本文中,在适当的情况下,对处于连接的用户或概念的引用可以指在社交图谱400中对应于由一条或多条矢线406连接的那些用户或概念的节点。
在具体实施方式中,用户节点402与概念节点404之间的矢线406可表示由与用户节点402相关联的用户向与概念节点404相关联的概念执行的具体动作或活动。作为实例并非限制性方式,如图4所示,用户可“喜欢”、“参与”、“播放”、“收听”、“烹饪”、“就职于”或者“观看”概念,每个概念均对应于矢线类型或者子类型。例如,对应于概念节点404的概念资料页面可包括可选择的“签到”图标(诸如,例如可点击的“签到”图标)或者可选择的“添加到收藏夹”图标。同样,在用户点击这些图标之后,社交网络系统360可响应于对应于各自动作的用户动作,创建“收藏”矢线或者“签到”矢线。作为另一实例并非限制性方式,用户(用户“C”)可使用具体应用程序(SPOTIFY,其是在线音乐应用程序)收听具体歌曲(“RambleOn”)。在这种情况下,社交网络系统360可在对应于用户的用户节点402与对应于歌曲和应用程序的概念节点404之间创建“收听过”矢线406和“使用过”矢线(如图4所示),以指示该用户收听过该歌曲并且使用过该应用程序。此外,社交网络系统360可在对应于歌曲和应用程序的概念节点404之间创建“播放”矢线406(如图4所示),以指示由具体应用程序播放过该具体歌曲。在这种情况下,“播放”矢线406对应于在外部音频文件(歌曲“Imagine”)上通过外部应用程序(SPOTIFY)执行的动作。尽管本公开内容描述了具有连接用户节点402与概念节点404的具体属性的具体矢线406,但是本公开内容考虑具有连接用户节点402与概念节点404的任意合适属性的任意合适矢线406。此外,尽管本公开内容描述了表示单一关系的用户节点402与概念节点404之间的矢线,但是本公开内容考虑表示一种或多种关系的用户节点402与概念节点404之间的矢线。作为示例并非限制性方式,矢线406可以既表示用户喜欢又表示用户已经使用过该具体概念。可替代地,另一矢线406可表示用户节点402与概念节点404之间的各种类型的关系(或者多种单一关系)(如图4所示,在用户“E”的用户节点402与“SPOTIFY”的概念节点404之间)。
在具体实施方式中,社交网络系统360可在社交图谱400中创建用户节点402与概念节点404之间的矢线406。作为示例并非限制性方式,浏览概念资料页面的用户(诸如,例如,通过使用网络浏览器或者由用户的客户端系统330承载的特定目的应用程序)可以通过点击或者选择“喜欢”图标来表示他或她喜欢由概念节点404所表示的概念,其可使用户的客户端系统330向社交网络系统360发送表示用户喜欢与概念资料页面相关联的概念的消息。响应于该消息,如用户与概念节点404之间的“喜欢”矢线406所示,社交网络系统360可在与用户相关联的用户节点402与概念节点404之间创建矢线406。在具体实施方式中,社交网络系统360可将矢线406存储在一个或多个数据存储中。在具体实施方式中,社交网络系统360可响应于具体的用户动作自动形成矢线406。作为示例并非限制性方式,如果第一用户上传图片、观看电影或者收听歌曲,则可在对应于第一用户的用户节点402与对应于那些概念的概念节点404之间形成矢线406。尽管本公开内容描述了以具体方式形成具体矢线406,但是本公开内容考虑以任意合适方式形成任意合适矢线406。
在具体实施方式中,广告可以是文本(其可以是HTML链接)、一个或多个图像(其可以是HTML链接)、一个或多个视频、音频、一个或多个ADOBEFLASH文件、这些合适的组合、或者以在一个或多个网页中、在一个或多个邮件中、或者在与用户请求有关的搜索结果中呈现的任意合适数字格式的任意其他合适的广告。另外或者作为替代,广告可以是一个或多个赞助故事(例如,社交网络系统360上的新闻馈送或者即时动态(ticker)项)。例如,通过使社交动作呈现在用户的资料页面或者其他页面的预定区域内、使用与广告商相关联的附加信息呈现社交动作、使社交动作弹出或者在其他用户的新闻馈送或者即时动态(ticker)项内另外高亮或者另外宣传,赞助故事可以是广告商宣传的用户的社交动作(诸如“喜欢”页面、在页面的帖子上“喜欢”或者评论、RSVP与页面相关联的事件、就页面上张贴的问题投票、在一个地点签到、使用应用程序、或者玩游戏、或者“喜欢”或者共享网站)。广告商可以付费以使社交动作得到宣传。作为实例并非限制性方式,广告可以包括在搜索结果页面的搜索结果当中,其中,赞助的内容通过非赞助的内容得到宣传。
在具体实施方式中,广告可能被请求在社交网络系统网页、第三方网页、或者其他页面内显示。广告可以显示在页面的专用部分中,诸如在页面顶部的横幅区域中、在页面的侧面的纵列中、在页面的GUI中、在弹出式窗口中、在下拉菜单中、在页面的输入栏中、在页面的内容的顶部、或者相对于页面的别处。另外或者作为替代,广告可以显示在应用程序内。广告可以显示在专用页面内,需要用户在访问页面或者使用应用程序之前,与广告互动或者观看广告。例如,用户可以通过网络浏览器查看广告。
图5示出了示例计算机系统500。在具体实施方式中,一个或多个计算机系统500执行本文描述或示出的一个或多个方法的一个或多个步骤。在具体实施方式中,一个或多个计算机系统500提供本文描述或示出的功能。在具体实施方式中,在一个或多个计算机系统500中运行的软件执行本文描述或示出的一个或多个方法的一个或多个步骤或者提供本文描述或示出的功能。具体实施方式包括一个或多个计算机系统500的一个或多个部分。本文中,在适当的情况下,对计算机系统的引用可包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可包括一个或多个计算机系统。
本公开考虑任意合适数量的计算机系统500。本公开考虑采用任意合适外形的计算机系统500。作为示例并非限制性方式,计算机系统500可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SB)(诸如,例如电脑模组(COM)或者系统模组(SOM))、台式计算机系统、膝上型或者笔记本计算机系统、交互式自助服务机、主机、计算机系统网络、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、或者这些中两个或者多个的组合。在适当的情况下,计算机系统500可包括单一式或者分布式的跨多个位置、跨多台机器、跨多个数据中心、或者驻留在云中的一个或者多个计算机系统500,计算机系统500可包括一个或者多个网络中的一个或者多个云部件。在适当的情况下,一个或多个计算机系统500可无实质空间或者时间限制地执行本文描述或示出的一个或多个方法的一个或多个步骤。作为实例并非限制性方式,一个或多个计算机系统500可以实时地或以分批处理模式执行本文描述或示出的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统500可在不同时间或不同位置执行本文描述或示出的一个或多个方法的一个或多个步骤。
在具体实施方式中,计算机系统500包括处理器502、存储器504、存储介质506、输入/输出(I/O)接口508、通信接口510、以及总线512。尽管本公开描述并示出了具有按照具体布置的具体数量的具体部件的具体计算机系统,但是,本公开考虑具有按照任意合适布置的任意合适数量的任意合适部件的任意合适计算机系统。
在具体实施方式中,处理器502包括用于执行指令的硬件,诸如构成计算机程序的那些指令。作为实例并非限制性方式,为了执行指令,处理器502可检索(或者获取)来自内部寄存器、内部缓存、存储器504、或者存储介质506的指令、对其进行解码并且执行指令、然后将一条或多条结果写入内部寄存器、内部缓存、存储器504、或者存储介质506。在具体实施方式中,处理器502可以包括用于数据、指令或地址的一个或多个内部缓存。在适当的情况下,本公开内容考虑包括任意合适数量的任意合适的内部缓存的处理器502。作为实例并非限制性方式,处理器502可包括一个或多个指令缓存、一个或多个数据缓存、以及一个或多个翻译后备缓冲器(TLB)。在指令缓存中的指令可以是在存储器504或存储介质506中的指令的副本,并且指令缓存可以加速处理器502对那些指令的检索。在数据缓存中的数据可以是在用于在处理器502操作中执行的指令在存储器504或存储介质506中的数据的副本、用于由在处理器502中执行的后续指令访问或用于写入存储器504或存储介质506的在处理器502中执行的先前的指令的结果、或其他合适的数据。数据缓存可加速处理器502的读取或写入操作。TLB可加速处理器502的虚拟地址翻译。在具体实施方式中,处理器502可包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑包括任意合适数量的任意合适内部寄存器的处理器502。在适当的情况下,处理器502可包括一个或者多个算法逻辑单元(ALU)、可以是多核处理器、或者包括一个或者多个处理器502。尽管本公开描述并示出了具体处理器,但是,本公开考虑任意合适的处理器。
在具体实施方式中,存储器504包括主存储器,用于存储处理器502执行的指令或处理器502操作的数据。作为实例并非限制性方式,计算机系统500可以从存储介质506或另一来源(诸如,例如,另一计算机系统500)加载指令到存储器504。然后,处理器502可以从存储器504加载指令到内部寄存器或内部缓存。为了执行指令,处理器502可从内部寄存器或内部缓存检索指令并且将它们解码。在指令的执行之中或之后,处理器502可将一条或多条结果(其可以是中间结果或最终结果)写入到内部寄存器或内部缓存。然后,处理器502可将那些结果中的一条或多条写入到存储器504。在具体实施方式中,处理器502只执行在一个或多个内部寄存器或内部缓存或存储器504(与存储介质506或其他位置相反)中的指令,并且只操作在一个或多个内部寄存器或内部缓存或存储器504(与存储介质506或其他位置相反)中的数据。一个或多个存储器总线(其均可包括地址总线和数据总线)可将处理器502耦接至存储器504。如下所述,总线512可包括一个或多个存储器总线。在具体实施方式中,一个或多个存储器管理单元(MMU)存在于处理器502与存储器504之间,并促进处理器502要求的对存储器504的访问。在具体实施方式中,存储器504包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口或多端口RAM。本公开考虑任意合适的RAM。在适当的情况下,存储器504可包括一个或多个存储器504。尽管本公开描述并示出了具体的存储器,但是,本公开考虑任意合适的存储器。
在具体实施方式中,存储介质506包括用于数据或指令的大容量存储装置。作为实例并非限制性方式,存储介质506可包括硬盘驱动(HDD)、软盘驱动、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动或者这些中两个或多个的组合。在适当的情况下,存储介质506可以包括移动或非移动(或固定的)的介质。在适当的情况下,存储介质506可以是计算机系统500内部或外部的。在具体实施方式中,存储介质506是非易失性的固态存储器。在具体实施方式中,存储介质506包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可更改ROM(EAROM)、或闪存、或这些中两个或者多个的组合。本公开考虑采用任意合适外形的大容量存储介质506。在适当的情况下,存储介质506可包括促进处理器502与存储介质506之间通信的一个或多个存储控制单元。在适当的情况下,存储介质506可包括一个或多个存储介质506。尽管本公开描述并示出了具体的存储装置,但是,本公开考虑任意合适的存储装置。
在具体实施方式中,I/O接口508包括为在计算机系统500与一个或多个I/O设备之间的通信提供一个或多个接口的硬件、软件或这两者。在适当的情况下,计算机系统500可包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个可使个人与计算机系统500之间能够通信。作为实例并非限制性方式,I/O设备可包括键盘、小键盘、麦克风、监控器、鼠标、打印机、扫描仪、扬声器、照相机、触控笔、平板、触摸屏、追踪球、摄影机、另一合适的I/O设备或这些中两个或多个的组合。I/O设备可包括一个或者多个传感器。本公开考虑任意合适的I/O设备以及用于它们的任意合适的I/O接口508。在适当的情况下,I/O接口508可包括使处理器502能够驱动这些I/O设备中的一个或多个的一个或多个设备或软件驱动器。在适当的情况下,I/O接口508可包括一个或多个I/O接口508。尽管本公开描述并示出了具体的I/O接口,但是,本公开考虑任意合适的I/O接口。
在具体实施方式中,通信接口510包括为在计算机系统500与一个或多个其他计算机系统500之间或一个或多个网络之间的通信(诸如,例如,基于数据包的通信)提供一个或多个接口的硬件、软件或这两者。作为实例并非限制性方式,通信接口510可包括用于与以太网或其他基于有线网络通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(诸如WI-FI网络)通信的无线NIC(WNIC)或无线适配器。本公开考虑任意合适的网络和用于它的任意合适的通信接口510。作为实例并非限制性方式,计算机系统500可与自组织网络、个人局域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或因特网的一个或多个部分或这些中两个或多个的组合通信。这些网络中的一个或多个的一个或多个部分可以为有线或无线。例如,计算机系统500可以与无线PAN(WPAN)(诸如,例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如,例如,全球移动通信系统(GSM)网络)或其他合适的无线网络或这些中两个或多个的组合通信。在适当的情况下,计算机系统500可包括用于任意这些网络的任意合适的通信接口510。在适当的情况下,通信接口510可包括一个或多个通信接口510。尽管本公开描述并示出了具体的通信接口,然而,本公开考虑任意合适的通信接口。
在具体实施方式中,总线512包括将计算机系统500的部件彼此耦接的硬件、软件或这两者。作为实例并非限制性方式,总线512可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限宽带互连、低引脚数(LPC)总线、存储器总线、微通道结构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线、或者另一合适的总线或者这些中两个或多个的组合。在适当的情况下,总线512可包括一个或多个总线512。尽管本公开描述并示出了具体的总线,但是,本公开考虑任意合适的总线或者互连。
本文中,在适当的情况下,计算机可读非易失性存储介质或介质可包括一个或多个半导体基或其他集成电路(IC)(诸如,例如,现场可编程门阵列(FPGA)或特定用途IC(ASIC))、硬盘驱动(HDD)、混合硬盘驱动(HHD)、光盘、光盘驱动(ODD)、磁光盘、磁光驱动、软盘、软盘驱动(FDD)、磁带、固态驱动(SSD)、RAM驱动、安全数码卡或驱动、任意其他合适的计算机可读非易失性存储介质、或这些中两个或多个的任意合适组合。在适当的情况下,计算机可读非易失性存储媒介可以是易失的、非易失的、或易失与非易失的组合。
本文中,除非另有明确表示或通过上下文另有表示,否则“或”是包括性的而非排除性的。因此,本文中,除非另有明确表示或通过上下文另有表示,否则“A或B”意味着“A、B、或这两者”。而且,除非另有明确表示或者通过上下文另有表示,否则,“和”为联合的和多个的。因此,本文中,除非另有明确表示或者通过上下文另有表示,否则,“A和B”意味着“联合的或多个的A和B”。
本公开的范围涵盖本领域普通技术人员应当理解的对本文中描述或示出的示例性实施方式的所有改变、替代、变化、变更以及变形。本公开的范围并不局限于本文中描述或示出的示例性实施方式。此外,尽管本公开将本文中各个实施方式描述并示出为包括具体部件、元件、功能、操作或步骤,但是本领域普通技术人员应当理解的是,这些实施方式中的任意一个可包括本文中任意地方描述或示出的任意部件、元件、功能、操作或步骤的任意组合或排列。此外,无论装置、系统、部件或者那些具体功能是否被激活、打开或者解锁,只要那些装置、系统、或者部件适配、布置、能够、配置、使能、可操作、或者操作,在所附权利要求中对被适配为、布置为、能够、配置为、使能、可操作以、或者操作以执行具体功能的装置或系统或者装置或系统的部件的引用包括该装置、系统、部件。
Claims (20)
1.一种方法,包括:
由计算设备接收对内容布局在与所述计算设备相关联的屏幕的可显示区域中的第一部分中的内容的请求;
由所述计算设备为所述内容布局的第二部分预填充显示对象的至少一个选择的元素,所述显示对象与所述内容布局相关联,其中,所述至少一个选择的元素的选择基于所述可显示区域的尺寸、所述计算设备的可用内存、或者应用程序特定的规则;
在应用程序定制的循环器中,由所述计算设备存储至少一个预填充元素;
响应于对所述内容布局的所述第二部分中的内容的请求,由所述计算设备从所述应用程序定制的循环器中检索所述至少一个预填充元素;
根据需要由所述计算设备为所述内容布局的所述第二部分更新所述显示对象的其他元素;以及
由所述计算设备返回所述显示对象。
2.根据权利要求1所述的方法,其中,所述可显示区域基于所述屏幕的尺寸、所述屏幕的长宽比、要呈现的内容的类型、应用程序特定的因素、用户配置的设置、或者用户偏好来确定。
3.根据权利要求1所述的方法,其中,所述内容布局包括列表或网格,并且其中,通过所述应用程序特定的规则设置预填充元素的增量,所述增量是由适合在所述可显示区域中的许多所述列表或网格项目定义的单元的倍数。
4.根据权利要求3所述的方法,其中,所述倍数还基于用户特定的使用模式。
5.根据权利要求3所述的方法,其中,所述倍数还基于内容属性。
6.根据权利要求1所述的方法,其中,所述应用程序特定的规则基于预填充每个元素的成本划分元素的优先级,其中,预填充元素的所述成本基于以下因素,包括:所述元素的尺寸、所述元素的复杂性、所述元素必须多久更新一次、所述计算设备的平台容量、或者所述计算设备的配置。
7.根据权利要求1所述的方法,其中,所述应用程序特定的规则基于所述计算设备的可用内存调整要选择的预填充的元素的数量。
8.一个或多个包含软件的计算机可读非易失性存储介质,所述软件在被执行时可操作以:
接收对内容布局在与所述计算设备相关联的屏幕的可显示区域中的第一部分中的内容的请求;
为所述内容布局的第二部分预填充显示对象的至少一个选择的元素,所述显示对象与所述内容布局相关联,其中,所述至少一个选择的元素的选择基于所述可显示区域的尺寸、所述计算设备的可用内存、或者应用程序特定的规则;
在应用程序定制的循环器中,存储至少一个预填充元素;
响应于对所述内容布局的所述第二部分中的内容的请求,从所述应用程序定制的循环器中检索所述至少一个预填充元素;
根据需要为所述内容布局的所述第二部分更新所述显示对象的其他元素;以及
返回所述显示对象。
9.根据权利要求8所述的介质,所述可显示区域基于所述屏幕的尺寸、所述屏幕的长宽比、要呈现的内容的类型、应用程序特定的因素、用户配置的设置、或者用户偏好来确定。
10.根据权利要求8所述的介质,其中,所述内容布局包括列表或网格,并且其中,通过所述应用程序特定的规则设置预填充元素的增量,所述增量是由适合在所述可显示区域中的许多所述列表或网格项目定义的单元的倍数。
11.根据权利要求10所述的介质,其中,所述倍数还基于用户特定的使用模式。
12.根据权利要求10所述的介质,其中,所述倍数还基于内容属性。
13.根据权利要求8所述的介质,其中,所述应用程序特定的规则基于预填充每个元素的成本划分元素的优先级,其中,预填充元素的所述成本基于以下因素,包括:所述元素的尺寸、所述元素的复杂性、所述元素必须多久更新一次、所述计算设备的平台容量、或者所述计算设备的配置。
14.根据权利要求8所述的介质,其中,所述应用程序特定的规则基于所述计算设备的可用内存调整要选择的预填充的元素的数量。
15.一种计算设备,包括:
一个或多个处理器;以及
存储器,耦接至所述处理器,所述存储器包括能由所述处理器执行的指令,当执行所述指令时,所述处理器操作以:
接收对内容布局在与所述计算设备相关联的屏幕的可显示区域中的第一部分中的内容的请求;
为所述内容布局的第二部分预填充显示对象的至少一个选择的元素,所述显示对象与所述内容布局相关联,其中,所述至少一个选择的元素的选择基于所述可显示区域的尺寸、所述计算设备的可用内存、或者应用程序特定的规则;
在应用程序定制的循环器中,存储至少一个预填充元素;
响应于对所述内容布局的所述第二部分中的内容的请求,从所述应用程序定制的循环器中检索所述至少一个预填充元素;
根据需要为所述内容布局的所述第二部分更新所述显示对象的其他元素;以及
返回所述显示对象。
16.根据权利要求15所述的设备,其中,所述可显示区域基于所述屏幕的尺寸、所述屏幕的长宽比、要呈现的内容的类型、应用程序特定的因素、用户配置的设置、或者用户偏好来确定。
17.根据权利要求15所述的设备,其中,所述内容布局包括列表或网格,并且其中,通过所述应用程序特定的规则设置预填充元素的增量,所述增量是由适合在所述可显示区域中的许多所述列表或网格项目定义的单元的倍数。
18.根据权利要求17所述的设备,其中,所述倍数基于用户特定的使用模式。
19.根据权利要求15所述的设备,其中,所述应用程序特定的规则基于预填充每个元素的成本划分元素的优先级,其中,预填充元素的所述成本基于以下因素,包括:所述元素的尺寸、所述元素的复杂性、所述元素必须多久更新一次、所述计算设备的平台容量、或者所述计算设备的配置。
20.根据权利要求15所述的设备,其中,应用程序特定的规则基于所述计算设备的可用内存调整要选择的预填充的元素的数量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/862,960 US10126903B2 (en) | 2013-04-15 | 2013-04-15 | Application-tailored object pre-inflation |
US13/862,960 | 2013-04-15 | ||
PCT/US2014/032823 WO2014172114A1 (en) | 2013-04-15 | 2014-04-03 | Application-tailored object pre-inflation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105283835A true CN105283835A (zh) | 2016-01-27 |
CN105283835B CN105283835B (zh) | 2019-05-31 |
Family
ID=51687675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480033926.9A Active CN105283835B (zh) | 2013-04-15 | 2014-04-03 | 应用程序定制的对象预填充 |
Country Status (11)
Country | Link |
---|---|
US (1) | US10126903B2 (zh) |
EP (1) | EP2987074B1 (zh) |
JP (1) | JP6412109B2 (zh) |
KR (1) | KR102001848B1 (zh) |
CN (1) | CN105283835B (zh) |
AU (1) | AU2014254368B2 (zh) |
BR (1) | BR112015026174A2 (zh) |
CA (1) | CA2909075C (zh) |
IL (1) | IL241996B (zh) |
MX (1) | MX363929B (zh) |
WO (1) | WO2014172114A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038201A (zh) * | 2016-12-26 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 个人主页的显示方法、装置、终端及服务器 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160321230A1 (en) * | 2015-04-29 | 2016-11-03 | Facebook, Inc. | Generating a data table |
US10346511B2 (en) * | 2016-06-01 | 2019-07-09 | Taboola.Com Ltd. | Scalable content rendering |
JP6919509B2 (ja) * | 2017-11-09 | 2021-08-18 | コニカミノルタ株式会社 | 表示装置、画像処理装置、表示システム及びプログラム |
CN114936056A (zh) * | 2018-01-29 | 2022-08-23 | 华为技术有限公司 | 认证窗口的显示方法和装置 |
KR102192934B1 (ko) * | 2018-08-08 | 2020-12-18 | 엔에이치엔 주식회사 | 사용자 단말기에 웹 페이지를 제공하는 네트워크 서버 및 방법 |
US11301780B2 (en) | 2019-02-15 | 2022-04-12 | Samsung Electronics Co., Ltd. | Method and electronic device for machine learning based prediction of subsequent user interface layouts |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255246A1 (en) * | 2003-06-10 | 2004-12-16 | International Business Machines Corporation | Methods and systems for publishing electronic documents with automatic fragment detection |
EP1513074A2 (en) * | 2003-08-20 | 2005-03-09 | Xerox Corporation | Apparatus and method for generating reusable composite components during dynamic document construction |
US20060242557A1 (en) * | 2003-06-03 | 2006-10-26 | Nortis Iii Forbes H | Flexible, dynamic menu-based web-page architecture |
CN102150175A (zh) * | 2008-01-16 | 2011-08-10 | 雅虎公司 | 用于口头广告的系统和方法 |
US20120284662A1 (en) * | 2011-05-04 | 2012-11-08 | Microsoft Corporation | Virtualized caching of user interface controls |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07219738A (ja) | 1994-02-03 | 1995-08-18 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
US5608909A (en) | 1994-04-15 | 1997-03-04 | Microsoft Corporation | Method and system for caching presentation data of a source object in a presentation cache |
JP2964926B2 (ja) | 1995-08-29 | 1999-10-18 | 富士ゼロックス株式会社 | データベース管理装置及び方法 |
US5794016A (en) | 1995-12-11 | 1998-08-11 | Dynamic Pictures, Inc. | Parallel-processor graphics architecture |
US6085226A (en) | 1998-01-15 | 2000-07-04 | Microsoft Corporation | Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models |
US6182133B1 (en) | 1998-02-06 | 2001-01-30 | Microsoft Corporation | Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching |
US6105111A (en) * | 1998-03-31 | 2000-08-15 | Intel Corporation | Method and apparatus for providing a cache management technique |
US6173316B1 (en) | 1998-04-08 | 2001-01-09 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
US7392308B2 (en) | 1999-09-10 | 2008-06-24 | Ianywhere Solutions, Inc. | System, method, and computer program product for placement of channels on a mobile device |
JP4344898B2 (ja) | 1999-10-05 | 2009-10-14 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、画像形成装置 |
JP4032641B2 (ja) | 2000-12-08 | 2008-01-16 | 富士ゼロックス株式会社 | Gui装置およびgui画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体 |
JP3948911B2 (ja) | 2001-05-30 | 2007-07-25 | 富士通株式会社 | 視野データに従う仮想空間におけるリンクされた複数の情報オブジェクトの表示 |
US6912533B1 (en) | 2001-07-31 | 2005-06-28 | Oracle International Corporation | Data mining agents for efficient hardware utilization |
US20040205514A1 (en) | 2002-06-28 | 2004-10-14 | Microsoft Corporation | Hyperlink preview utility and method |
US7548795B2 (en) | 2003-03-17 | 2009-06-16 | Mitsubishi Denki Kabushiki Kaisha | Numerical control system |
US6978147B2 (en) * | 2003-03-19 | 2005-12-20 | Motorola, Inc. | Wireless messaging device with selectable scroll display and message pre-fetch |
US20050010877A1 (en) | 2003-07-11 | 2005-01-13 | Arthur Udler | System and method for dynamic generation of a graphical user interface |
US8103742B1 (en) | 2003-11-24 | 2012-01-24 | Amazon Technologies, Inc. | Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data |
WO2005089397A2 (en) | 2004-03-16 | 2005-09-29 | Advanced Tracking Technologies, Inc. | Geographic information data base engine |
WO2006055751A2 (en) | 2004-11-16 | 2006-05-26 | Compography, Inc. | Display/layout methods and apparatuses including content items and display containers |
US7975019B1 (en) | 2005-07-15 | 2011-07-05 | Amazon Technologies, Inc. | Dynamic supplementation of rendered web pages with content supplied by a separate source |
JP2007058755A (ja) | 2005-08-26 | 2007-03-08 | Dainippon Screen Mfg Co Ltd | 電子掲示板システム、電子掲示板システムのサーバー、電子掲示板システムのクライアントにおけるスレッド表示処理方法、およびプログラム |
US8402094B2 (en) | 2006-08-11 | 2013-03-19 | Facebook, Inc. | Providing a newsfeed based on user affinity for entities and monitored actions in a social network environment |
US8102398B2 (en) | 2006-03-03 | 2012-01-24 | Ati Technologies Ulc | Dynamically controlled power reduction method and circuit for a graphics processor |
US20070297560A1 (en) | 2006-03-03 | 2007-12-27 | Telesecurity Sciences, Inc. | Method and system for electronic unpacking of baggage and cargo |
JP4947407B2 (ja) | 2006-03-29 | 2012-06-06 | 日本電気株式会社 | 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム |
JP2007286745A (ja) | 2006-04-13 | 2007-11-01 | Canon Inc | 画像形成装置、画像形成方法及びプログラム |
WO2007132746A1 (ja) | 2006-05-11 | 2007-11-22 | Panasonic Corporation | 処理装置 |
US7667719B2 (en) * | 2006-09-29 | 2010-02-23 | Amazon Technologies, Inc. | Image-based document display |
WO2008118613A1 (en) | 2007-03-01 | 2008-10-02 | Microsoft Corporation | Executing tasks through multiple processors consistently with dynamic assignments |
US7818194B2 (en) | 2007-04-13 | 2010-10-19 | Salesforce.Com, Inc. | Method and system for posting ideas to a reconfigurable website |
US8832650B2 (en) | 2007-09-26 | 2014-09-09 | Ncr Corporation | Automated code generation for an automated teller machine |
US8935620B1 (en) * | 2008-03-20 | 2015-01-13 | Amazon Technologies, Inc. | Dynamic content management |
US8381123B2 (en) * | 2008-06-27 | 2013-02-19 | Microsoft Corporation | Positioning and realizing of virtualized visible content within a viewport |
WO2010001324A2 (en) | 2008-06-30 | 2010-01-07 | Mominis Ltd | Method of generating and distributing a computer application |
US20100023690A1 (en) | 2008-07-22 | 2010-01-28 | International Business Machines Corporation | Caching dynamic contents and using a replacement operation to reduce the creation/deletion time associated with html elements |
CN101436131A (zh) | 2008-12-15 | 2009-05-20 | 北大方正集团有限公司 | 一种交互操作软件中实现重复操作的方法及系统 |
JP5236564B2 (ja) | 2009-04-20 | 2013-07-17 | 株式会社日立製作所 | ソフトウェア再利用支援方法及び装置 |
US20100281224A1 (en) | 2009-05-01 | 2010-11-04 | International Buisness Machines Corporation | Prefetching content from incoming messages |
US9015619B2 (en) | 2009-06-17 | 2015-04-21 | Oracle International Corporation | Pop-up panel for multiple messages |
US9213780B2 (en) * | 2009-06-26 | 2015-12-15 | Microsoft Technology Licensing Llc | Cache and index refreshing strategies for variably dynamic items and accesses |
US8024374B2 (en) | 2009-07-24 | 2011-09-20 | Oracle International Corporation | Computer object conversion using an intermediate object |
US8364611B2 (en) | 2009-08-13 | 2013-01-29 | Yahoo! Inc. | System and method for precaching information on a mobile device |
US20110055683A1 (en) | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
US8826141B2 (en) | 2010-02-12 | 2014-09-02 | Blackberry Limited | Image-based and predictive browsing |
US9075894B2 (en) * | 2010-11-01 | 2015-07-07 | Blue Coat Systems, Inc. | System and method for identifying web objects unworthy of being cached |
US10304066B2 (en) | 2010-12-22 | 2019-05-28 | Facebook, Inc. | Providing relevant notifications for a user based on location and social information |
US20120166532A1 (en) | 2010-12-23 | 2012-06-28 | Yun-Fang Juan | Contextually Relevant Affinity Prediction in a Social Networking System |
JP2012148429A (ja) | 2011-01-17 | 2012-08-09 | Canon Inc | 印刷データ処理装置、キャッシュ処理方法及びプログラム |
US8880592B2 (en) | 2011-03-31 | 2014-11-04 | Cloudera, Inc. | User interface implementation for partial display update |
US9152616B2 (en) | 2011-04-28 | 2015-10-06 | Flipboard, Inc. | Template-based page layout for web content |
JP5276145B2 (ja) | 2011-06-13 | 2013-08-28 | 株式会社ソニー・コンピュータエンタテインメント | リスト表示装置 |
KR101799978B1 (ko) | 2011-06-17 | 2017-11-22 | 삼성전자주식회사 | 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치 |
US8922575B2 (en) * | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US20130124563A1 (en) * | 2011-11-16 | 2013-05-16 | Google Inc. | Controlling pre-fetching of map data tiles based on selectable parameters |
US9852054B2 (en) | 2012-04-30 | 2017-12-26 | Vmware, Inc. | Elastic caching for Java virtual machines |
US9654591B2 (en) | 2012-10-01 | 2017-05-16 | Facebook, Inc. | Mobile device-related measures of affinity |
US9547668B2 (en) * | 2012-10-29 | 2017-01-17 | Dropbox, Inc. | Event-based content item view |
KR20140122292A (ko) | 2013-03-28 | 2014-10-20 | 삼성전자주식회사 | 디스플레이 장치의 디스플레이 방법 및 디스플레이 장치 |
-
2013
- 2013-04-15 US US13/862,960 patent/US10126903B2/en active Active
-
2014
- 2014-04-03 KR KR1020157032549A patent/KR102001848B1/ko active IP Right Grant
- 2014-04-03 CA CA2909075A patent/CA2909075C/en not_active Expired - Fee Related
- 2014-04-03 EP EP14785263.6A patent/EP2987074B1/en active Active
- 2014-04-03 MX MX2015014580A patent/MX363929B/es active IP Right Grant
- 2014-04-03 BR BR112015026174A patent/BR112015026174A2/pt not_active Application Discontinuation
- 2014-04-03 WO PCT/US2014/032823 patent/WO2014172114A1/en active Application Filing
- 2014-04-03 CN CN201480033926.9A patent/CN105283835B/zh active Active
- 2014-04-03 JP JP2016508957A patent/JP6412109B2/ja active Active
- 2014-04-03 AU AU2014254368A patent/AU2014254368B2/en not_active Ceased
-
2015
- 2015-10-08 IL IL241996A patent/IL241996B/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242557A1 (en) * | 2003-06-03 | 2006-10-26 | Nortis Iii Forbes H | Flexible, dynamic menu-based web-page architecture |
US20040255246A1 (en) * | 2003-06-10 | 2004-12-16 | International Business Machines Corporation | Methods and systems for publishing electronic documents with automatic fragment detection |
EP1513074A2 (en) * | 2003-08-20 | 2005-03-09 | Xerox Corporation | Apparatus and method for generating reusable composite components during dynamic document construction |
CN102150175A (zh) * | 2008-01-16 | 2011-08-10 | 雅虎公司 | 用于口头广告的系统和方法 |
US20120284662A1 (en) * | 2011-05-04 | 2012-11-08 | Microsoft Corporation | Virtualized caching of user interface controls |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038201A (zh) * | 2016-12-26 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 个人主页的显示方法、装置、终端及服务器 |
WO2018121320A1 (zh) * | 2016-12-26 | 2018-07-05 | 阿里巴巴集团控股有限公司 | 个人主页的显示方法、装置、终端及服务器 |
US11218556B2 (en) | 2016-12-26 | 2022-01-04 | Advanced New Technologies Co., Ltd. | Method, apparatus, user device and server for displaying personal homepage |
Also Published As
Publication number | Publication date |
---|---|
CA2909075A1 (en) | 2014-10-23 |
EP2987074A4 (en) | 2017-01-25 |
EP2987074A1 (en) | 2016-02-24 |
KR102001848B1 (ko) | 2019-07-19 |
EP2987074B1 (en) | 2021-03-03 |
IL241996B (en) | 2019-07-31 |
JP6412109B2 (ja) | 2018-10-24 |
AU2014254368B2 (en) | 2019-03-07 |
JP2016522907A (ja) | 2016-08-04 |
WO2014172114A1 (en) | 2014-10-23 |
US10126903B2 (en) | 2018-11-13 |
CA2909075C (en) | 2019-10-08 |
CN105283835B (zh) | 2019-05-31 |
US20140310624A1 (en) | 2014-10-16 |
MX2015014580A (es) | 2016-06-21 |
KR20150143718A (ko) | 2015-12-23 |
AU2014254368A1 (en) | 2015-11-26 |
MX363929B (es) | 2019-04-08 |
BR112015026174A2 (pt) | 2017-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105378726B (zh) | 利用更新层的数据库分区 | |
CN105283845B (zh) | 显示对象预生成 | |
CN105874500B (zh) | 生成离线内容 | |
US20190138331A1 (en) | Contextual and Personalized Help | |
CN105103084B (zh) | 基于位置或者速度改变用户界面 | |
JP6681867B2 (ja) | 関心箇所に応じた画像の切り取り | |
CN105283835A (zh) | 应用程序定制的对象预填充 | |
CN103597512B (zh) | 从有机活动流创建赞助故事单元 | |
CN105210049B (zh) | 通信方法、通信系统和计算机可读永久性储存介质 | |
CN104956299A (zh) | 基于用户的交互元素 | |
CN105283841B (zh) | 应用定制的对象再利用和再循环 | |
JP6487427B2 (ja) | フレキシブルなイメージ・レイアウト | |
CN107256269A (zh) | 方法、计算机可读非临时性存储介质和系统 | |
CN110140134A (zh) | 使用深度学习模型来生成推荐 | |
JP6523329B2 (ja) | ユーザのコンテンツ共有の誘引 | |
US9450992B2 (en) | Node properties in a social-networking system | |
CN105264526B (zh) | 基于垂直的查询选择化 | |
CN105229691A (zh) | 在滚动时延迟繁重操作 | |
JP2021509493A (ja) | 複数のデバイスにわたるコンテンツを提供すること | |
Reddy | Cut-pieces: celluloid obscenity and popular cinema in Bangladesh | |
AU2014321520A1 (en) | Generating offline content |
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. |