应用定制的对象再利用和再循环的制作方法

文档序号:9529230阅读:388来源:国知局
应用定制的对象再利用和再循环的制作方法
【技术领域】
[0001]本公开总体上涉及对象生命周期管理。
【背景技术】
[0002]创建显示对象并且将它们填充有内容会构成内容密集应用的延迟的显著原因。当渲染其中内容在折线(the fold)以下延伸的特定显示画面的内容布局时(需要用户滚动该内容布局以将内容带入视野),当它们进入视野时可以创建显示对象并且填充有内容,并且当它们从视野消失时再循环显示对象。由操作系统提供的默认再循环效用被证实不满足这样的内容密集应用的需求,尤其是对于最近请求的显示对象在短时间段以内可能重复地被再次请求的应用。

【发明内容】

[0003]为了便于以内容识别方式再使用和再循环昂贵的显示对象,可以利用应用专用的再循环政策以确定如何评价显示对象以及何时将显示对象转移至应用定制对象再循环器以便由应用再利用。当接收对于待显示的特定内容元素的请求时,应用创建显示对象并且渲染显示对象。在将其返回至操作系统用于显示之前,应用可以根据按照应用专用的再循环政策的显示对象的评估将显示对象装入廉价创建的包装对象。当操作系统调用对象在准备中的最后确定的方法以将对象发送至操作系统的默认再循环效用时,应用提取并缓存再循环器中的显示对象,并且允许操作系统根据其默认再循环政策处置(空的)包装对象。当再次请求相同的内容元素时,应用从再循环器检索显示对象,将其装入包装对象,并且返回经包装的显示对象。
【附图说明】
[0004]图1A是使用显示对象渲染内容布置的线框图。
[0005]图1B是示出图1A的细节部分的线框图。
[0006]图2示出用于应用控制的对象再循环的示例性方法。
[0007]图3示出与社交网络系统相关联的示例性网络环境。
[0008]图4示出了示例性社交图谱。
[0009]图5示出示例性计算机系统。
【具体实施方式】
[0010]可以在对基于内容或基于使用的上下文进行任何识别的情况下,统一处理通过默认再循环效用的显示对象的再循环。这会触发不必要的和昂贵的操作,该操作比可能以其他方式需要而更频繁地创建显示对象并且将内容填入效率低地再循环的显示对象。当显示对象具有变得非常大的潜在性时(例如,安卓的ListView或GridView对象),并且用户可以遍历列表或网格重复地来回经过相同的内容元素,更加期望的是避免由于无法有效再利用最近请求的显示对象而导致的不必要的操作。
[0011]为了便于以内容识别的方式再使用和再循环昂贵的显示对象,应用程序可以应用专用的再循环政策以确定怎样评价显示对象以及何时将显示对象转移至应用定制的对象再循环器以供应用程序再利用。当接收对于待显示的特定内容元素的请求时,应用程序创建显示对象并且渲染显示对象。在将其返回操作系统以供显示之前,应用程序可以根据按照应用专用的再循环政策对显示对象的评估将显示对象装入廉价创建的包装对象。当操作系统在准备调用对象的最后确定的方法以将对象发送至操作系统的默认再循环效用时,应用程序提取显示对象并缓存在再循环器中,并且允许操作系统根据其默认再循环政策处置(空的)包装对象。当再次请求相同的内容元素时,应用从再循环器检索显示对象,将其装入包装对象,并且返回经包装的显示对象。包装对象本身可以重新创建或由操作系统的默认再循环效用提供,与创建和/或填充显示对象的昂贵的操作相比,由于新的包装对象的创建而导致的任何延迟是非常低的。
[0012]在【具体实施方式】中,再循环器可以使用任何合适的数据结构(例如,堆)实现,显示对象可以存储在其中并且可以使用适合于应用程序的任何检索关键字从再循环器检索显示对象。例如,在由社交网络系统提供的按时间顺序组织的新鲜事应用中,其中新鲜事中的每个列表与用户的社交图谱中的连接的活动有关系,可以与检索关键字相联系地存储的每个显示对象包括:新鲜事项ID号、基于新鲜事项的元素生成的散列关键字、新鲜事中的新鲜事项的位置、与新鲜事项相关联的时间戳、基于与特定内容相关的社交图谱中的任何元素相关联的标识符生成的标识符、或者基于与特定内容相关的社交图谱中的任何元素相关联的信息的散列关键字。在【具体实施方式】中,基于应用程序的需求,存在应用程序的一个或多个再循环器。例如,应用程序可以为每个显示对象类型保留一个再循环器。在另一个实例中,应用程序可以为迅速到期和/或必须经常更新的显示对象保留一个再循环器,并且为不到期或者长达更长的时间段保持有效的显示对象保留另一个再循环器。如本领域的技术人员将意识到的,可以利用任意数量的再循环器,视具体应用程序的需求而定。
[0013]本文中描述的实施方式还可以对显示对象的子元素执行,其中有一些显示对象可包括嵌套显示对象。
[0014]图1A是示出基于许多显示对象渲染的以便在平板设备上显示的社交网络系统的用户的新鲜事页面的内容布局100的示例性线框图的线框图。内容布局100的可显示区域(由虚线指出的)包括适合于平板设备的屏幕尺寸(在折线以上)的内容布局100的部分。
[0015]内容布局100包括页眉区域110、菜单栏120、左边侧栏130、右边侧栏140以及主体区域150。每个区域与它自身的显示对象相关联,每个显示对象可以包括许多元素诸如通过实例而不是限制:图像、视频、文本、链接、表格以及交互元素。这些元素中的每一个可以由一个或多个嵌套显示对象表示。
[0016]与标题区域110相关联的显示对象包括社交网络用户的交互简档照片112,由社交网络用户选择的文本块114、背景图像116以及主题音乐。交互简档照片112基于显示对象渲染,该显示对象可以包括图像、文本、链接以及Java脚本代码以便渲染显示当诸如鼠标的点控设备悬浮在简档照片上时出现的社交网络用户的简档的概要的弹出窗口。
[0017]与菜单栏120相关联显示对象包括五个菜单选项125A-F,每个菜单选项包括图像、文本和链接。
[0018]与左边侧栏130相关联的显示对象包括用于混合的推荐的内容(包括赞助内容)(仅示出135A-E,但可以存在很多推荐),每个推荐内容基于显示对象渲染。用于推荐的每个显示对象可以包括交互图像、标题、推荐的文本以及获得与推荐有关的进一步信息的链接。用于新鲜事项的每个显示对象还可以包括一个或多个图像或视频。
[0019]与右边侧栏140相关联的显示对象包括一个或多个广告145的内容,每个广告内容基于显示对象渲染。如在图1A中示出的实例中示出的,广告145A出现在折线以上,然而145B尚未在视野中。广告的内容可以至少部分地由第三方广告商确定。
[0020]与主体区域150相关联的显示对象包括许多新鲜事项(仅示出155A-E,但可以存在很多新鲜事项),每个新鲜事项基于与用户的朋友(即,社交图谱联系)有关的活动相关联的显示对象渲染。
[0021]图1B是示出图1A的细节部分的线框图:内容布局100的主体区域150中的新鲜事项155B-E。如在图1A中指出的,内容布局100的可显示的区域(由虚线指出的)包括将适合平板设备的画面上的内容布局100的部分。
[0022]新鲜事项155的每个显示对象可以包括:朋友的交互简档照片160、朋友的名字165、新鲜事项的文本170、时间敏感的信息175 (例如,已观看/评论/ “点赞”列表的人的数量的持续更新计数、观看/评论/ “点赞”列表的最近的一个或两个人的短列表等)、到“点赞”新鲜事项的链接180、到新鲜事项的评论的链接185、以及到“分享”新鲜事项的链接190。用于新鲜事项的每个显示对象还可以包括一个或多个图像195或视频。
[0023]每个交互简档照片160基于显示对象渲染,该显示对象可以包括图像、文本、链接以及Java脚本代码以便渲染显示当诸如鼠标的点控设备悬浮在简档照片上时出现的社交网络用户的简档的概要的弹出窗口。
[0024]图2示出用于应用控制的对象再循环的示例性方法。在步骤210中,应用程序接收对特定内容(例如,新鲜事项155C)的请求,针对该请求需要以包含所请求的内容的显示对象来响应。如上所述,显示对象可以包含许多元素,该元素本身可以是显示对象。例如,新鲜事项155C包括可以由显示对象渲染的交互简档照片160。
[0025]在步骤220中,应用程序根据应用定制再循环政策确定应用定制再循环器中是否存在适合于再利用或再循环的的显示对象。如果显示对象包含与当前请求的内容相同或相似的内容,则该显示对象可能适合于再利用。如果显示对象是相同类型的对象但是填充有不同的内容,则该显示对象可能适合于再循环。这个判定可以取决于应用专用、设备专用和/或用户专用的再循环政策。在【具体实施方式】中,应用程序可以根据应用需求、内容类型、设备属性(例如,可用存储器和/或显示屏幕的尺寸)、内容统计、使用模式和偏好、或者任何其他合适因素设置再循环政策。这样的政策可以支配多少对象保留在再循环器中、什么类型的对象存储在再循环器中、怎样确定显示对象是否适合于再利用和/或再循环、何时再利用而不是再循环显示对象等。
[0026]在步骤225中,存在再循环器返回空值的两种情况。第一种情况是简单的一在再循环器中没有找到正确类型的显示对象。在第二种情况中,在再循环器中找到适合于再循环而不是再利用的显示对象,然而再循环政策禁止显示对象的再循环。
[0027]例如,在图1B中示出的新鲜事布局中,用户先前观看和滚动通过了新鲜事项155A,并且可显示的区域由新鲜事项155B-E占据。这意味着用于新鲜事项155A的显示对象可能已经预先生成、填充有内容、显示然后存储在再循环器中。如果用户向下滚动,并且应用程序接收到对于包含用于新鲜事项155F的内容的显示对象的请求,那么应用程序将确定用于新鲜事项155A的显示对象是否可以为新鲜事项155F再循环。如果应用程序仅允许已存储在再循环器中的许多显示对象的对象再循环一次(以便鼓励再利用,而不是持续再循环),那么再循环器可返回空值,以便迫使创建用于新鲜事项155F的新的显示对象(并且预期新鲜事项155A可能很快被再次请求,预先保存用于新鲜事项155A的显示对象)。
[0028]但不论是哪种情况,应用程序创建合适类型的新的显示对象以显示请求的内容,然后用请求的内容填充显示对象(步骤250)。这是最昂贵的途径,因为创建新的显示对象和填充空的显示对象两者是成本高的操作。因此,应用程序可能需要在确定何时禁止再循环器中存储的另外的合适的显示对象再循环时平衡冲突的优先级。
[0029]在步骤230中,如果合适的显示对象在再循环器中可用,则应用程序确定显示对象中的内容是否与请求内容相同或相似。
[0030]在步骤235中,如果显示对象包含与请求内容相同或相似的内容,则应用可以为这个请求再利用检索到的显示对象。例如,在图1B中示出的新鲜事布局中,用户先前观看和滚动去新鲜事项155A,并且可显示的区域由新鲜事项155B-E占据。这意味着新鲜事项155A的显示对象可能已经之前生成、填充有内容、显示然后存储在再循环器中。如果用户倒退滚动,并且应用接收到对于包含新鲜事项155A的内容的显示对象的请求,那么包含新鲜事项155A的内容的显示对象可以从再循环器检索并再利用。
[0031]为了重新使用检索到的显示对象,必需根据需要更新显示对象的特定元素(步骤240),诸如时间敏感的元素。例如,新鲜事项155可能需要更新时间敏感的信息175 (例如,已观看/评论/ “点赞”列表的人的数量的持续更新计数、观看/评论/ “点赞”列表的最近的一个或两个人的短列表等)。在一些情况下,包含于显示对象的内容可以与请求内容非常相似但不是完全
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1