应用程序定制的对象预填充的制作方法
【技术领域】
[0001]本公开大体涉及对象生命周期管理。
【背景技术】
[0002]创建显示对象并填充它们会构成内容密集型应用程序延迟的重要原因,尤其是具有变量和/或冗长部分内容的内容布局,诸如列表或网格。当内容延伸得超过可显示区域(需要用户滚动内容布局以把内容带入视野)的具体显示屏幕呈现内容布局时,为了可以创建显示对象、嵌套式显示对象、以及其他内容元素,当它们进入视野时填充他们,并且当它们从视野消失时,回收它们。显示对象的请求驱动的实时填充可能被证明不足以满足这种内容密集型应用程序的要求。
【发明内容】
[0003]为了促进在定制应用程序类型中的显示对象的预填充,应用程序可以应用应用程序特定的策略以确定如何选择性地仅预填充那些填充最耗成本的显示对象和/或其元素。
[0004]在接收用于显示内容布局的具体部分的请求之前,应用程序可以选择预填充内容布局的具体部分的元素,填充那些选择的元素,并且在循环器中储存预填充的元素。当再次请求相同内容元素时,应用程序从循环器检索显示对象,将该显示对象装入包装对象中,并且返回包装的显示对象。本文中描述的实施方式同样可以用显示对象的元素执行,其中一些可包括嵌套的显示对象。
【附图说明】
[0005]图1A是使用显示对象呈现的内容布局的线框图。
[0006]图1B是示出了图1A的详细部分的线框图。
[0007]图2示出了用于应用程序定制的对象预填充的示例性方法。
[0008]图3示出了与社交网络系统相关联的示例性网络环境。
[0009]图4示出了示例性社交图谱。
[0010]图5示出了示例性计算机系统。
【具体实施方式】
[0011]为了促进在定制应用程序类型中的显示对象的预填充,应用程序可以应用具体应用程序策略以确定如何选择性地仅预填充那些填充最耗成本的显示对象和/或其元素。
[0012]在接收用于显示内容布局的具体部分的请求之前,应用程序可以选择预填充内容布局的具体部分的元素,填充那些选择的元素,并且在循环器中储存预填充的元素。当再次请求相同内容元素时,应用程序从循环器检索显示对象,将该显示对象装入包装对象中,并且返回包装的显示对象。本文中描述的实施方式同样可以用显示对象的元素执行,其中一些可包括嵌套的显示对象。
[0013]与实现循环器的方法有关,【具体实施方式】可利用在2013年4月11日提交的、题为“Applicat1n-Tailored Object Recycling”的美国专利申请第 13/861,250号中公开的一个或多个系统、部件、元素、功能、方法、操作、或步骤,其通过引用结合于本文中。
[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中,应用程序可以确定可显示区域的尺寸,如在以下步骤250中所描述的,该信息可能影响选择预填充的显示对象的元素的过程。可显示区域包括一个区域,其中,使用与显示对象相关联的内容来呈现内容布局(或其一部分)。可显示区域可以基于任何相关的信息来确定,诸如,作为示例并非限制性方式:屏幕的尺寸、屏幕的长宽比、要呈现的内容的类型、具体应用程序因素(例如,基于用户是否是不需要广告服务的付费订阅者,而使内容布局相异)、用户配置的设置(例如,重新调整窗口大小),用户偏好(例如,阻止弹出式窗口 )等。
[0025]在步骤220中,应用程序可以确定设备上的可用内存,如在以下步骤250中所描述的,该信息可能影响选择预填充的显示对象的元素的过程。
[0026]在步骤230中,应用程序可以确定创建用于特定内容布局的显示对象。例如,如果用户请求他们的基于新鲜事的社交网络信息,则应用程序可以创建用于新鲜事内容布局的显示对象。
[0027]在步骤240中,应用程序可以接收对具体内容的请求(例如,包括在图1A中表示的可显示区域中的内容,其包括标题区域110、菜单栏120、左侧边栏130的包括推荐135A的部分、右侧边栏140的包括广告145A的部分、以及主体区域150的包括新鲜事项155A的部分),其可以使用包含请求内容的显示对象响应该请求。如上所述,显示对象可包括许多元素,其本身可以是显示对象。例如,新鲜事项155C包括可通过显示对象而呈现的互动资料照片160。
[0028]在步骤250中,应用程序可以基于可显示区域的尺寸、可用内存、以及具体应用程序规则来选择预填充的显示对象的元素。在【具体实施方式】中,具体应用程序规则可以对填充更耗成本的显示对象的元素的选择划分优先级。填充元素的成本可以在任何适用的基础上来确定,例如,元素的尺寸、元素的复杂性(例如,元素是嵌套的显示对象吗?)、元素必须多久更新一次、平台的容量和配置(例如,设备缺乏对客户端脚本(其使替换可选的、简单的内容成为必需)的支持或者设备禁止客户端脚本的执行吗?)等。
[0029]在【具体实施方式】中,尤其是相对于基于列表或基于网格的内容布局,可以通过具体应用程序规则设置预填充元素的增量,其中,该增量是由适合在可显示区域中的尺寸的列表或者网格事项的数量定义的单元的倍数。例如,如图1B所示出的,四个新鲜事项可以填充可显示区域的垂直尺寸,其中,内容布局可在垂直尺寸上延伸(并不是水平尺寸)。在这个实例中,具体应用程序规则确定该单元包括四个新鲜事项(因为这将将填充得超出可显示区域),并且设置用于增加到三的倍数,以便当应用程序响应于显示新鲜事项155B-E的请求时,它同样预填充用于下十二个新鲜事项所选择的元素。
[0030]在【具体实施方式】中,倍数可基于具体用户使用图案。例如,如果用户通常相对慢地在新鲜事中滚动,则倍数可以是更小值。相反,如果用户通常相对快地在新鲜事至滚动,则倍数可以是更大值。
[0031]在【具体实施方式】中,倍数可基于用于列表或者网格元素的内容的属性。例如,如果内容是非常丰富的一类,并且用户可能花费更长的时间来浏览该内容(例如,随着用户在每一个上滑动鼠标而播放的视频缩略图),则倍数可能降低。
[0032]在【具体实施方式】中,具体应用程序规则可以基于可用内存而对显示对象的元素的选择划分优先级。例如,如果没有许多可用内存,则应用程序可选择仅预填充最耗成本的元素,然而,如果有更多可用内存,则可预填充额外元素(稍微不太耗成本