【专利解密】瑾盛通信软硬件齐动,OPPO程序加载提速方法

来源:爱集微 #专利解密#
5357

【嘉德点评】OPPO早先设立的致力于芯片战略的瑾盛通信,根据最新公开的专利来看,研发早已有成果,该专利技术主要通过软件方法和硬件的配合,提升软件加载的速度。

集微网消息,现在我们每天的生活都离不开智能手机,而我们也经常听到有人抱怨自己的手机卡顿、应用打开时间太久。你知道吗?除了手机硬件逐渐老化、淘汰之外,或许我们手机的软件配置也会造成应用打开时间过久等不好的体验!

目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等移动终端已成为人们日常生活中必不可少的电子设备。随着移动终端设备不断地智能化,多数移动终端设备中都装载有操作系统,使得移动终端设备能够安装丰富多样的应用程序,满足用户不同的需求。

随着移动终端设备的配置不断提升,多数移动终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,移动终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低。

为了解决这个问题,OPPO所属公司瑾盛通信在19年4月28日申请了一项名为“应用程序预加载方法及其装置、存储介质及移动终端”的国际专利(国际公布号:WO 2019/214475 A1),申请人为上海瑾盛通信科技有限公司。

根据目前该专利公开的资料,让我们一起来看看这项应用程序预加载方法吧。

如上图所示为应用程序预加载方法的流程示意图,首先,检测到应用预加载事件被触发,例如检测到用户的动作满足预设条件(如拿起移动终端、输入屏幕解锁操作或输入移动终端解锁操作等)时触发应用预加载事件;也可以在检测到前台应用程序发生变更时触发应用预加载事件;或者可以在预加载应用的预测流程结束后,立即(经过预设时长后)触发应用预加载事件。

其次,确定待预加载的目标应用程序,待预加载的应用程序就是用户可能即将打开的应用程序,通过分析用户的习惯,就可以达到这样的效果,例如当检测到用户在购物应用中复制了某些内容时,极有可能会打开聊天应用,因为用户可能会分享某些内容,这样就可以预先将聊天应用程序加载到内存中,从而提高应用打开的速度。

最后,采用多核处理器中的低功耗核心预加载目标应用程序对应的应用界面,在应用预加载过程中,尤其是应用界面的预加载过程中,可能涉及多个处理器核心的工作,以大小核处理器为例,可能会使用其中的大核心,这样就会导致预加载过程产生较多的功耗,可能会造成移动终端发热或较少待机时间等,影响用户的使用,此外,若预加载过程中占用大核心资源,也可能会对前台应用程序的运行产生影响,如发生卡顿等现象。

因此该专利发明的系统,在检测到应用预加载事件被触发时,确定待预加载的目标应用程序,采用多核处理器中的低功耗核心预加载目标应用程序对应的应用界面。通过采用上述技术方案,可以在应用预加载过程中限制用于预加载的系统资源的使用,避免预加载过程产生过多的功耗。

如上图为预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图,如图所示,此时显示屏幕为竖屏方式,终端系统坐标的原点为显示屏幕201的左顶点(0 ,0),显示屏幕的宽度方向为X轴,高度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。

那么为什么要预加载Stack各个边界呢?左上角的横坐标为H,是为了防止横屏时显示屏幕显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。

左上角的纵坐标为0,是为了预加载应用能够正确计算状态栏高度。Android应用为了更好的设计用户界面(UI),会自定义顶部状态栏,如果上边对应的纵坐标不等于0,那么状态栏的高度可能会错误。

最后,右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用。右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的size能够包含预加载时候的竖屏应用。

最后我们再来看看另外的一种应用程序预加载方法的流程示意图。

如上图所示,该方法包括如下的步骤:1)检测到应用预加载事件被触发;2)确定待预加载的目标应用程序;3)采用大小核处理器中的小核心,基于预先创建的预加载活动窗口堆栈预加载目标应用程序对应的应用界面;4)设置预加载完成的应用界面的可见性属性为不可见;5)暂停目标应用程序所对应的任务栈顶端的活动窗口。

这样设计的理由是,目标应用程序中需要进行预加载的应用界面可能有多个,可以在每次渲染完成一个应用界面时,将该应用界面的可见性属性设置为不可见,当所有需要预加载的应用界面绘制完成后,暂停此时任务栈顶端的活动窗口。

最后,在接收到目标应用程序的运行指令时,恢复活动窗口,并将活动窗口对应的应用界面迁移至显示屏幕进行显示。

以上就是OPPO的应用程序预加载方法,通过应用程序预加载的方式,极大的提高了应用程序打开的速度,所以除了硬件老化等因素,应用系统的配置也极为重要,只有软硬件都进行优化的条件下,才能获得最好的用户体验!

关于嘉德

深圳市嘉德知识产权服务有限公司由曾在华为等世界500强企业工作多年的知识产权专家、律师、专利代理人组成,熟悉中欧美知识产权法律理论和实务,在全球知识产权申请、布局、诉讼、许可谈判、交易、运营、标准专利协同创造、专利池建设、展会知识产权、跨境电商知识产权、知识产权海关保护等方面拥有丰富的经验。

(校对/holly)

责编: 刘燚
来源:爱集微 #专利解密#
THE END

*此内容为集微网原创,著作权归集微网所有,爱集微,爱原创

关闭
加载

PDF 加载中...