[发明专利]用户界面资源文件优化在审
申请号: | 201980068477.4 | 申请日: | 2019-07-16 |
公开(公告)号: | CN112889026A | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 瑞安·迪尼亚尔 | 申请(专利权)人: | 电子湾有限公司 |
主分类号: | G06F8/40 | 分类号: | G06F8/40;G06F8/41;G06F8/51;G06F8/75 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 杜诚;刘敏 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户界面 资源 文件 优化 | ||
本文所描述的技术减小了软件应用的大小。在一些实施方式中,应用的一个或多个资源文件的大小被减小。资源文件包括限定应用的元素的键/值对。在一些实施方式中,对应用的源代码进行分析,以确定资源文件中的条目是否可以被移除。例如,可以对应用的源代码中的初始化函数进行分析,以确定从资源文件加载的值是否在使用之前被替换。例如,具有颜色属性的按钮可以被资源限定为灰色,但是后续在初始化函数中被设置为橙色。在这种情况下,将按钮限定为灰色的资源条目是多余的,并且可以被安全地移除。本技术允许从资源文件中移除条目,即使源代码引用了该条目。
背景技术
现代软件应用可以包括大量特征。因此,这样的应用的大小可能非常大,有时数百兆字节或甚至千兆字节。因此,软件应用可以消耗大量计算资源,例如存储空间。当计算设备之间传输大型应用程序时也可以消耗大量网络带宽,从而导致大量的货币成本。当存储有限时,与较小的应用相比,用户也可能优先删除大型软件应用。
先前已经利用许多技术来减小软件应用的大小,包括死代码清除、文件压缩和特征去除。然而,这些技术不总是适用的或有效的。例如,在编译期间应用死代码清除,因此其不影响以非编译(即解释)语言编写的代码。类似地,在下载到客户端设备之后“及时”编译的代码不会减小下载的大小。死代码清除还由于依赖于代码流分析而受限,其认为在稍后被应用引用的情况下移除死代码是不是很安全。文件压缩的有效性受到被压缩数据的类型的限制,并且具有需要在客户端上昂贵的解压缩步骤的额外花费。
然而,即使已经应用了这些先前技术,用户和生产者仍然可以从进一步减小的软件应用大小获益。因此,仍然存在对进一步减小软件应用大小的需求。关于这些和其他考虑,提出了本文中做出的公开内容。
发明内容
本文所描述的技术减小了软件应用的大小。一般而言,本文所公开的技术可以通过对源代码和资源文件的分析来减小应用的大小,所述分析使得能够从资源文件中移除在运行时期间被确定为重复的或未使用的数据。减小文件大小具有许多技术益处:提高内存、处理和电力效率。减小下载大小——通过网络传输以将软件应用分发至客户端设备的字节数,以及安装大小——用于在客户端设备上存储应用的字节数。终端用户体验到较快的下载时间、较快的启动时间和增加的响应性。开发者在降低分发成本的同时吸引并保留性能敏感的客户。
在一些实施方式中,减少了一个或更多个资源文件的大小,一个或更多个资源文件例如但不限于或故事板(storyboard),或文件。资源文件包括限定应用的元素的键/值对。例如,资源文件可以限定视图的大小和位置、按钮的颜色或字体的粗细和样式。通常,资源文件由可视化设计器生成,该可视化设计器可以是使得能够使用鼠标和键盘输入构建用户界面的应用程序。应用可以具有数十、数百或更多个资源文件,使得即使稍微减小资源文件的大小,也会对应用的大小具有很大的影响。
在一些实施方式中,对应用的源代码进行分析,以确定应用使用的资源文件中的条目是否可以被移除。可以对应用的源代码中的初始化函数进行分析,以确定从资源文件加载的值是否在使用之前被替换。例如,具有颜色属性的按钮可以被资源限定为灰色,但是稍后在执行时通过初始化函数设置为橙色。在这种情况下,将按钮限定为灰色的资源条目是多余的,并且可以被安全地移除。在该实施方式中,即使应用的源代码包含对条目的引用,也可以从资源文件中移除条目。
通过应用本文所讨论的技术,对于一组大小总计为1.5mb的已经高度优化的资源文件,已经观察到实际节省了50kb。然而,可以基于给定应用中包括的资源文件的数目、那些资源文件的大小、具有被覆写的值的元素的频率等来实现较大或较小的节省。这改进了对孤立的资源文件进行分析的现有技术,或者基于以下工具的现有技术:该工具仅移除未被应用引用的值。
应当理解,上述主题可以被实现为计算机控制的装置、计算机实现的方法、计算设备,或者被实现为诸如计算机可读介质的制品。通过阅读下面的具体实施方式并查看相关附图,这些特征和各种其他特征将是明显的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子湾有限公司,未经电子湾有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980068477.4/2.html,转载请声明来源钻瓜专利网。