当前位置: 首页 > 专利查询>苹果公司专利>正文

按需加载资源制造技术

技术编号:17216047 阅读:23 留言:0更新日期:2018-02-08 02:00
本发明专利技术公开了用于构建软件应用程序的计算机实现的方法。该方法包括:生成多个应用程序资源;创建多个标签;在多个应用程序资源中的每一者上应用标签之一;通过标签对应用程序资源进行分组以形成至少两个资产包,两个资产包各自能够通过资产包中的所有应用程序资源共享的至少一个标签来标识;以及创建包括资产包中的每一者的位置和资产包要被下载的顺序的资产包清单。

Load resources on demand

The invention discloses a method of computer implementation for building software applications. The method includes generating a plurality of application resources; to create multiple labels; labels of each application in a number of applications in resources; by grouping the application resource tag to form at least two packages of assets, assets of two packets each capable of at least one tag shared by all application resources package of assets to identify; and create including each package of assets and asset position of the bag to be downloaded order asset package list.

【技术实现步骤摘要】
【国外来华专利技术】按需加载资源相关申请的交叉引用本专利申请要求2015年6月5日提交的美国临时专利申请62/171,894、2015年9月22日提交的美国专利申请14/861,405和2015年9月22日提交的美国专利申请14/861,885的权益,上述美国(临时)专利申请中的每个美国(临时)专利申请据此全文以引用方式并入本文以用于所有目的。
本公开整体涉及构建软件应用程序,更具体地是以按需加载资源构建、部署、运行和更新软件应用程序的系统和方法,按需加载资源可从应用程序的主应用程序和其他资源解耦合,使得这些按需加载资源可在不干扰应用程序操作的情况下根据需要而动态地被请求和清除。
技术介绍
计算设备,尤其是小型移动设备可具有有限量的资源,诸如用于存储应用程序和数据的盘空间。每次在计算设备上安装应用程序,就减少可供其它用途使用的存储空间。传统地,每个应用程序被打包在可被下载和安装在客户端设备上的单个应用包中。该单个应用包可包括其代码和数据的大部分(如果不是全部的话),虽然在应用程序使用时在给定时间它们并非全部都被需要。代码和数据中的一些可能从不被使用,但只要应用程序存在于客户端设备上,它们仍然会占据设备上存储空间。这会是对客户端设备上宝贵存储空间的低效使用,并且限制了能安装在设备上的应用程序的数量。假定应用程序(甚至那些被设计用于在移动设备上运行的应用程序)的尺寸相当大,则希望设计和构造应用程序以在应用程序被安装在设备上时使盘空间的浪费最小化,而不对其可用性产生不利的影响。
技术实现思路
本公开的一个方面整体涉及构建和部署软件应用程序的系统和方法,所述软件应用程序使与应用程序相关联的各种应用程序资源(即,按需加载资源)能独立封装,这进而允许它们在不干扰应用程序的使用的情况下根据需要而从客户端设备独立地安装和卸载。安装和卸载过程可在后台进行,并且对于用户是透明的。这允许应用程序(尤其是那些具有相对大量内容的应用程序)在客户端设备上驻留和操作,而不消耗显著量的存储空间。继而,这可为设备提供灵活性,使得其可更好地容纳其它应用程序和数据。这样,这相比于通常要求完整下载和安装其所有文件的传统应用程序可提供显著的优点,传统应用程序的所有文件不管实际是否被需要都不得不被保持在客户端设备上。相反,以按需加载资源构建的应用程序可以只需要设备上一小部分存储空间来操作,而不牺牲与应用程序有关的任何用户体验。未初始安装的按需加载资源可在后来的时候被请求,优选在其被应用程序需要之前被请求。类似地,已安装在设备上的这些按需加载资源中的一些可在不再被需要时和/或在盘空间不足时被移除。基本上,与应用程序相关联的各种应用程序资源可基于应用程序的需要而在设备上轮换,以实现设备有限量的盘空间的最佳利用。本公开的另一方面整体涉及基于应用程序/客户端设备的需要(或预期需要)自动地请求和/或移除按需加载资源。对于以按需加载资源构建的应用程序,可能重要的是能够预测何时可能将需要特定按需加载资源。这允许其在被应用程序要求之前被取回,从而不需要让用户等待直到资源被下载。这也可防止发生潜在的运行时错误。可能同要重要的是要知道在存储空间变得紧张时哪些按需加载资源可被清除。在这个方面,一些实施方案公开了预先确定或动态地确定用于请求按需加载资源的标准的方法。其它实施方案公开了对于在被请求时进行移除来对已经在设备上的按需加载资源进行标识和/或划分优先次序的方法。本公开的另外方面整体涉及被设计用于以按需加载资源构建应用程序和有利于这些应用程序在客户端设备上的操作的应用程序接口(API)和其它软件开发工具。附图说明图1是根据本公开一实施方案示出一种具有按需加载资源的应用程序的构成的框图。图2根据本公开一实施方案示出一种以按需加载资源构造应用程序的方法的示例性步骤。图3根据本公开一实施方案示出一种客户端设备的示例性模块及其在管理设备上一个或多个应用程序的应用程序资源中的交互。图4根据本公开一实施方案示出在客户端设备上以按需加载资源设置和运行应用程序的示例性步骤。图5根据本公开一实施方案示出将应用程序资源从客户端设备清除的示例性步骤。图6根据本公开一实施方案示出以按需加载资源将应用程序更新到新版本的示例性步骤。图7是示出可在本公开的一些实施方案中使用的一种示例性API架构的框图。图8是根据本公开实施方案示出系统的部件之间的示例性交互的框图。具体实施方式在以下对示例性实施方案的描述中将引用附图,在附图中以例示的方式示出了可被实施的特定实施方案。应当理解,在不脱离各种实施方案的范围的情况下,可使用其他实施方案并且可进行结构性变更。如本文所用,术语“设备”和“客户端设备”可互换使用,用于指代任何能够运行一个或多个软件应用程序的电子设备。此类设备可包括但不限于个人计算机(PC)、Mac、台式和膝上型PC、平板PC、智能电话和其它类型的蜂窝电话、可穿戴设备、机顶盒、智能电视、数字媒体播放器、和车载娱乐系统。如本文所用,术语“存储空间”、“盘空间”和“存储介质”可互换使用,用于指代客户端设备上任何类型的存储装置。存储空间可为内部的(例如存储器、硬盘驱动器、闪存驱动器、和缓存存储),也可以是外部的(例如,云存储)。术语“软件应用程序”、“应用程序”和“应用”可互换使用,用于指代任何能在设备上安装和执行的计算机程序。术语“应用程序资源”(或“资源”)可指代与应用程序相关联的任何数据(或内容)。在一个实施方案中,应用程序资源可以不包括用于运行应用程序的软件代码(或程序)。软件代码或程序可包括例如可执行文件、函数和库。应用程序资源的示例可包括但不限于图像、文本、音频、和视频文件(即,任何非软件代码的文件)。在另一个实施方案中,应用程序资源也可包括用于运行应用程序的软件代码的至少一些。术语“资产包”可指代共享至少一个公共特性的一个或多个应用程序资源的集合。术语“应用起始包”可指代在客户端设备上第一次开始应用程序所需要的代码和可选的多个应用程序资源的包。为了执行应用程序的最基本功能,诸如启动应用程序和显示应用程序的默认屏幕,需要应用起始包中的代码和资源。术语“按需加载资源”可以指代能在不干扰应用程序运行的情况下被动态地请求和清除的一个或多个应用程序资源。这些按需加载资源可包括不包括在应用起始包中的资源(例如能在应用正在运行时通过应用的请求而被下载的资产包中的资源)。除此之外或另选地,它们可包括作为应用起始包的一部分但在不再被需要时能被清除的资源。除此之外或另选地,它们可包括被选择用于在初始应用和按需加载资源(ODR)安装之后安装、但在应用被启动之前仍还未被安装的资产包中的资源。按需加载资源可包括数据和/或代码。按需加载资源在应用程序被编译时可被分组到一个或多个资产包中,但与应用起始包分开存储,因此可以不是在应用程序第一次被请求时对客户端设备的初始下载的一部分。相反,具有按需加载资源的资产包可在应用程序安装之后根据需要而单独地被请求。一旦被安装了,它们就可整合到应用程序中并执行其预期功能。当它们不再被应用程序需要和/或客户端设备上的空间不足时,按需加载资源可在不干扰应用程序运行的情况下按预定次序(例如基于用于确定什么最不可能被需要的试探法的次序)单独地从设备清除。在一些具体实施中,特定按需加载资源被清除,本文档来自技高网...
按需加载资源

【技术保护点】
一种在设备上运行应用程序的计算机实现的方法,包括:从网络源获取所述应用程序的应用起始包;利用所述应用起始包来安装所述应用程序;确定所述应用程序在第一时间的第一状态;响应于确定所述应用程序在所述第一时间的所述第一状态,请求多个按需加载资源中的在所述第一时间不在所述设备上且与所述应用程序相关联的第一按需加载资源,其中:根据确定所述应用程序的所述第一状态满足第一状态标准,所述第一按需加载资源包括第一资源,根据确定所述应用程序的所述第一状态满足不同于所述第一状态标准的第二状态标准,所述第一按需加载资源包括不同于所述第一资源的第二资源,并且所述应用程序的所述第一状态与对所述设备的用于运行所述应用程序的对应于所述第一按需加载资源的一部分的用户输入无关;从所述网络源接收所述第一按需加载资源,而不接收所述多个按需加载资源中的第二按需加载资源;以及在所述应用程序中加载所述第一按需加载资源。

【技术特征摘要】
【国外来华专利技术】2015.06.05 US 62/171,894;2015.09.22 US 14/861,405;1.一种在设备上运行应用程序的计算机实现的方法,包括:从网络源获取所述应用程序的应用起始包;利用所述应用起始包来安装所述应用程序;确定所述应用程序在第一时间的第一状态;响应于确定所述应用程序在所述第一时间的所述第一状态,请求多个按需加载资源中的在所述第一时间不在所述设备上且与所述应用程序相关联的第一按需加载资源,其中:根据确定所述应用程序的所述第一状态满足第一状态标准,所述第一按需加载资源包括第一资源,根据确定所述应用程序的所述第一状态满足不同于所述第一状态标准的第二状态标准,所述第一按需加载资源包括不同于所述第一资源的第二资源,并且所述应用程序的所述第一状态与对所述设备的用于运行所述应用程序的对应于所述第一按需加载资源的一部分的用户输入无关;从所述网络源接收所述第一按需加载资源,而不接收所述多个按需加载资源中的第二按需加载资源;以及在所述应用程序中加载所述第一按需加载资源。2.根据权利要求1所述的计算机实现的方法,还包括:确定所述应用程序在所述第一时间之后的第二时间的第二状态;响应于确定所述应用程序在所述第二时间的所述第二状态,请求所述多个按需加载资源中的所述第二按需加载资源,其中:根据确定所述应用程序的所述第二状态满足第三状态标准,所述第二按需加载资源包括第三资源,根据确定所述应用程序的所述状态满足不同于所述第三状态标准的第四状态标准,所述第二按需加载资源包括不同于所述第三资源的第四资源,并且所述应用程序的所述第二状态与对所述设备的用于运行所述应用程序的对应于所述第二按需加载资源的一部分的用户输入无关;从所述网络源接收所述第二按需加载资源;以及在所述应用程序中加载所述第二按需加载资源。3.根据权利要求1所述的计算机实现的方法,包括在请求所述第一按需加载资源之前检查在所述设备上所述第一按需加载资源是否可用,其中请求所述第一按需加载资源是响应于确定在所述设备上所述第一按需加载资源不可用。4.根据权利要求1所述的计算机实现的方法,包括:确定在所述设备上资产包清单是否可用,所述资产包清单包括所述第一按需加载资源的地址;获取所述资产包清单;以及利用所述资产包清单中的所述地址来请求所述第一按需加载资源。5.根据权利要求1所述的计算机实现的方法,包括基于所述应用程序的所述状态确定包括所述第一按需加载资源的多个按需加载资源要被请求的顺序。6.根据权利要求1所述的计算机实现的方法,包括:确定在所述设备上是否检测到存储空间不足;如果在所述设备上检测到存储空间不足,确定要从所述设备清除的所述应用程序的至少一个按需加载资源;以及在所述应用程序在所述设备上运行时,从所述设备清除所述至少一个按需加载资源。7.根据权利要求6所述的计算机实现的方法,其中确定要清除的至少一个按需加载资源至少部分地基于所述应用程序的所述状态。8.根据权利要求6所述的计算机实现的方法,其中确定要清除的至少一个按需加载资源至少部分地基于多个按需加载资源的预先确定清除顺序。9.根据权利要求6所述的计算机实现的方法,其中确定要清除的至少一个按需加载资源至少部分地基于与所述应用程序相关联的使用模式。10.一种非暂态计算机可读介质,所述计算机可读介质包含指令,所述指令在被执行时执行在设备上运行应用程序的方法,所述方法包括:从网络源获取所述应用程序的应用起始包;利用所述应用起始包来安装所述应用程序;确定所述应用程序在第一时间的第一状态;响应于确定所述应用程序在所述第一时间的所述第一状态,请求多个按需加载资源中的在所述第一时间不在所述设备上且与所述应用程序相关联的第一按需加载资源,其中:根据确定所述应用程序的所述第一状态满足第一状态标准,所述第一按需加载资源包括第一资源,根据确定所述应用程序的所述第一状态满足不同于所述第一状态标准的第二状态标准,所述第一按需加载资源包括不同于所述第一资源的第二资源,并且所述应用程序的所述第一状态与对所述设备的用于运行所述应用程序的对应于所述第一按需加载资源的一部分的用户输入无关;从所述网络源接收所述第一按需加载资源,而不接收所述多个按需加载资源中的第二按需加载资源;以及在所述应用程序中加载所述第一按需加载资源。11.根据权利要求10所述的非暂态计算机可读介质,所述方法还包括:确定所述应用程序在所述第一时间之后的第二时间的第二状态;响应于确定所述应用程序在所述第二时间的所述第二状态,请求所述多个按需加载资源中的所述第二按需加载资源,其中:根据确定所述应用程序的所述第二状态满足第三状态标准,所述第二按需加载资源包括第三资源,根据确定所述应用程序的所述状态满足不同于所述第三状态标准的第四状态标准,所述第二按需加载资源包括不同于所述第三资源的第四资源,并且所述应用程序的所述第二状态与对所述设备的用于运行所述应用程序的对应于所述第二按需加载资源的一部分的用户输入无关;从所述网络源接收所述第二按需加载资源;以及在所述应用程序中加载所述第二按需加载资源。12.根据权利要求10所述的非暂态计算机可读介质,所述方法还包括在请求所述第一按需加载资源之前检查在所述设备上所述第一按需加载资源是否可用,其中请求所述第一按需加载资源是响应于确定在所述设备上所述第一按需加载资源不可用。13.根据权利要求10所述的非暂态计算机可读介质,所述方法还包括:确定在所述设备上资产包清单是否可用,所述资...

【专利技术属性】
技术研发人员:S·R·乐华伦D·马克欧沃尔J·J·赫斯P·海恩T·J·森塔玛利亚W·M·布姆加纳D·匹克福特C·L·欧克罗塔A·S·帕克尔
申请(专利权)人:苹果公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1