CN116661909A - 应用程序的运行方法、装置、终端设备及存储介质 - Google Patents

应用程序的运行方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN116661909A
CN116661909A CN202310956175.9A CN202310956175A CN116661909A CN 116661909 A CN116661909 A CN 116661909A CN 202310956175 A CN202310956175 A CN 202310956175A CN 116661909 A CN116661909 A CN 116661909A
Authority
CN
China
Prior art keywords
application program
preset
terminal equipment
target application
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310956175.9A
Other languages
English (en)
Other versions
CN116661909B (zh
Inventor
吴涛
董志钢
唐小凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202310956175.9A priority Critical patent/CN116661909B/zh
Publication of CN116661909A publication Critical patent/CN116661909A/zh
Application granted granted Critical
Publication of CN116661909B publication Critical patent/CN116661909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提出一种应用程序的运行方法、装置、终端设备及存储介质,涉及终端设备技术领域。包括:在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序;控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件;对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。由此,可以在终端设备为预设状态时,在预设运行环境中运行分身应用程序,并对获取的待编译文件进行编译,从而在目标应用程序首次运行时,可以直接使用编译文件,从而可以提高目标应用程序首次运行时的速度。

Description

应用程序的运行方法、装置、终端设备及存储介质
技术领域
本公开涉及终端设备技术领域,尤其涉及一种应用程序的运行方法、装置、终端设备及存储介质。
背景技术
随着移动互联网和智能设备的普及,人们在终端设备上安装的应用程序越来越多。首次下载的应用程序或更新后的应用程序首次在终端设备上运行时,往往需要将应用程序的代码,编译或解释成本地可执行的代码,使得应用程序得以运行。然而,在解释或编译的过程中,通常需要消耗较多的时间,从而会导致应用程序在首次运行时的速度较慢。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
本公开第一方面实施例提出了一种应用程序的运行方法,包括:
在检测到终端设备中存在未运行过的目标应用程序、且所述终端设备当前的状态为预设状态的情况下,生成预设运行环境及所述目标应用程序对应的分身应用程序;
控制所述分身应用程序在所述预设运行环境中运行,以获取所述目标应用程序对应的待编译文件;
对所述待编译文件进行编译,以获取所述目标应用程序在所述终端设备运行时所需的编译文件。
本公开第二方面实施例提出了一种应用程序的运行装置,包括:
监测模块,用于在检测到终端设备中存在未运行过的目标应用程序、且所述终端设备当前的状态为预设状态的情况下,生成预设运行环境及所述目标应用程序对应的分身应用程序;
模拟运行模块,用于控制所述分身应用程序在所述预设运行环境中运行,以获取所述目标应用程序对应的待编译文件;
编译模块,用于对所述待编译文件进行编译,以获取所述目标应用程序在所述终端设备运行时所需的编译文件。
本公开第三方面实施例提出了一种终端设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开第一方面实施例提出的应用程序的运行方法。
本公开第四方面实施例提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现如本公开第一方面实施例提出的应用程序的运行方法。
本公开提供的应用程序的运行方法、装置、终端设备及存储介质,存在如下有益效果:
本公开实施例中,可以在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序,并控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件,最后对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。由此,可以在终端设备为预设状态时,在预设运行环境中运行分身应用程序,并对获取的待编译文件进行编译,从而在目标应用程序首次运行时,可以直接使用编译文件,从而可以提高目标应用程序首次运行时的速度。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本公开一实施例所提供的一种应用程序的运行方法的流程示意图;
图2为本公开另一实施例所提供的一种应用程序的运行方法的流程示意图;
图2A为本公开一实施例提供的一种应用程序的运行方法的流程示意图;
图3为本公开另一实施例所提供的应用程序的运行装置的结构示意图;
图4示出了适于用来实现本公开实施方式的示例性终端设备的框图。
具体实施方式
下面详细描述本公开的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
下面参考附图描述本公开实施例的应用程序的运行方法、装置、终端设备和存储介质。
本公开实施例以该应用程序的运行方法被配置于应用程序的运行装置中来举例说明,该应用程序的运行装置可以应用于任一终端设备中,以使该终端设备可以执行应用程序的运行功能。
图1为本公开实施例所提供的一种应用程序的运行方法的流程示意图。
如图1所示,该应用程序的运行方法可以包括以下步骤:
步骤101,在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序。
其中,目标应用程序可以为终端设备中新下载,且尚未运行过的应用程序;也可以为版本更新升级后,尚未运行过的应用程序。
在一些可能的实现方式中,在终端设备处于待机状态的情况下,确定终端设备当前的状态为预设状态。
需要说明的是,本公开中,为了避免分身应用程序在预设运行环境中运行时,影响用户对终端设备的正常使用。因此,在终端设备处于待机状态(即用户不使用终端设备)的情况下,在预设运行环境中运行分身应用程序。
进一步地,为了避免分身应用程序在预设运行环境中运行时对电量的消耗,影响用户对终端设备的使用。还可以在终端设备当前的剩余电量大于电量阈值、且处于待机状态的情况下,确定终端设备当前的状态为预设状态。即在终端设备当前的剩余电量大于电量阈值、且处于待机状态的情况下,在预设运行环境中运行分身应用程序。
其中,电量阈值可以为预先设置的,比如,可以为80%,70%等。
可选的,还可以根据终端设备是否处于充电状态,确定电量阈值。比如,若终端设备未处于充电状态,电量阈值可以为80%,若终端设备处于充电状态,电量阈值可以为50%。需要说明的是,处于充放电状态时对应的电量阈值可以小于未处于充电状态时的电量阈值。
其中,预设运行环境可以为预先创建的用于运行分身应用程序的环境。
比如,预设运行环境可以包括虚拟屏,在虚拟屏中显示分身应用程序,可以防止用户在实际终端设备的物理屏上看到分身应用程序的运行,在虚拟屏上运行将不会对物理屏显示产生影响。
其中,分身应用程序可以为与目标应用程序功能完全相同的应用程序。
需要说明的是,即使目标应用程序已存在对于的分身应用的情况下,也需要创建一个新的分身应用功能程序,从而生成一个独立于终端设备中当前存在的应用程序之外的分身应用程序。
步骤102,控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件。
本公开实施例中,控制分身应用程序在预设运行环境中运行,可以避免在预设运行环境中运行目标应用程序,而导致目标应用程序在绑定用户账号的情况下,可能会产生实际支付、订阅或安全等问题。
其中,待编译文件中可以包括热点函数及类信息。
其中,热点函数及类信息,可以为分身应用程序运行的过程中,具有较高执行频率或占用较多执行时间的函数和类。
需要说明的是,由于分身应用程序和目标应用程序完全相同。因此,分身应用程序运行的过程中,执行的热点函数及类信息,即为目标应用程序对应的热点函数及类信息。因此,可以在分身应用程序运行的过程中,获取目标应用程序对应的待编译文件。
在一些可能的实现方式中,也可以将由于分身应用程序与目标应用程序具有相同的包名和程序代码,因此生成的热点函数及类信息是相同的,获取的待编译文件可以放置在包名相关路径下。
步骤103,对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。
本公开实施例中,对待编译文件进行编译,即将待编译文件中的热点函数及类信息,编译为目标应用程序运行时所需的机器码。即编译文件中包含热点函数及类信息对应的机器码。在一些可能的实现方式中,在待编译文件中的热点函数及类信息增加时,可以及时对增加的热点函数及类信息进行编译。即在分身应用程序在预设运行环境中运行,若获取到热点函数及类信息,即可进行编译,无需等待分身应用程序在预设运行环境中运行结束后,再对待编译文件进行编译。
在一些可能的实现方式中,若目标应用功能程序为更新升级后的应用程序,也可以获取更新升级前的应用程序对应的已编译文件,进而基于目标应用程序对应的待编译文件,对更新升级前的应用程序对应的已编译文件进行更新,以获取目标应用程序在终端设备运行时所需的编译文件。
比如,在更新升级前的应用程序对应的已编译文件中不包含待编译文件中的热点函数的情况下,将该热点函数编译后的机器码,添加至更新升级前的应用程序对应的已编译文件中。
在一些可能的实现方式中,在获取目标应用程序在终端设备运行时所需的编译文件之后,如果目标应用程序在终端设备的物理显示屏中运行时,需要调用热点函数及类,则可以直接调用编译文件中机器码,从而可以提高目标应用程序首次运行时的速度,进而减少用户使用目标应用程序时的等待时间,提升用户体验感。
本公开实施例中,可以在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序,并控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件,最后对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。由此,可以在终端设备为预设状态时,在预设运行环境中运行分身应用程序,并对获取的待编译文件进行编译,从而在目标应用程序首次运行时,可以直接使用编译文件,从而可以提高目标应用程序首次运行时的速度。
图2为本公开一实施例所提供的一种应用程序的运行方法的流程示意图,如图2所示,该应用程序的运行方法可以包括以下步骤:
步骤201,在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序。
步骤202,基于预设的控制信息,控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件。
在一些可能的实现方式中,预设的控制信息可以包括以下至少一项:
运行时长;
界面访问深度阈值;及
分身应用程序对应的操作指令。
其中,运行时长可以为预先设置的时长,比如,可以为5分钟、10分钟等。
在一些可能的实现方式中,还可以获取目标应用程序对应的功能数量,之后基于功能数量,确定运行时长。
需要说明的是,目标应用程序对应的功能数量越多,运行时间越长。
可以理解的是,目标应用程序的功能数量越多,目标应用程序越复杂。因此,在运行分身应用程序,以获取待编译文件时,需要较长的运行时间,以获取必要的热点函数及类信息。
其中,界面访问深度阈值,可以称为界面的堆栈深度阈值,是指在目标应用程序中,可以通过不同的界面层级进行导航和操作,而每个界面的层级关系可以形成一个堆栈结构。界面的堆栈深度表示在任意给定时间,界面堆栈中的界面数量。比如,界面访问深度阈值可以为2,3等。
比如,若界面访问深度阈值为2,则从目标应用程序的一级界面(主界面)中的任一入口,进入二级界面,之后再从二级界面的任一入口进入三级界面之后,即需要进行返回操作。
需要说明的是,应用程序往往会将常用的功能放到主界面,常用的功能菜单都优先放置,所以不深的访问深度即可满足寻找热点函数和类信息的需求。
分身应用程序对应的操作指令,可以为对分身应用程序进行操作的指令。比如,点击分身应用程序中的功能对应的指令,滑动操作对应的指令(向上滑动、向下滑动、向左滑动、向右滑动等),返回操作对应的指令等。
在一些可能的实现方式中,在控制分身应用程序在预设运行环境中运行的过程中,若检测到终端设备当前的状态为非预设状态,删除分身应用程序及预设运行环境。
本公开实施例中,在分身应用程序运行的过程中,若终端设备的剩余电量低于电量阈值、或终端设备处于启用状态或关机状态,则会停止分身应用程序的运行,避免分身应用程序的运行,影响用户对终端设备的正常使用。但是,分身应用程序运行时,获取的待编译文件中仍包含部分热点函数及类信息。
或者,在控制分身应用程序在预设运行环境中运行结束后,删除分身应用程序及预设运行环境。
本公开实施例中,若分身应用程序在预设运行环境中运行结束,则可以直接删除分身应用程序及预设运行环境,无需考虑终端设备的状态,从而避免分身应用程序及预设运行环境,占用重用终端设备的资源。
步骤203,对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。
本公开实施例中,可以在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序,并基于预设的控制信息,控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件,最后对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。由此,可以在终端设备为预设状态时,基于预设的控制信息,控制分身应用程序在预设运行环境中运行,不仅可以准确、高效的获取待编译文件,而且在目标应用程序首次运行时,可以直接使用编译文件,提高目标应用程序首次运行时的速度。
图2A为本公开一实施例提供的一种应用程序的运行方法的流程示意图;如图2A所示,终端设备中可以包含应用安装模块、包管理模块、检测模块、模拟运行模块、显示模块、编译模块。应用程序的运行方法包括以下步骤:
应用安装模块,先将应用安装至包管理模块。
包管理模块将应用程序的安装结果发送给监测模块。
监测模块在监听到有应用安装时,将识别是否为首次下载安装或者更新升级的目标应用程序,在满足条件的情况下,将为模拟应用运行找到时机,并通知模拟运行模块对分身应用程序进行模拟。
模拟运行模块中的场景管理模块确定所述终端设备当前的状态为预设状态的情况下,通知包管理模块创建目标应用程序对应的分身应用程序、通知显示模块创建虚拟显示屏。
进而启动分身应用程序,并在分身应用启动阶段绑定显示到新建的虚拟屏上,基于模拟运行模块中的模拟动作列表(包含分身应用程序对应的操作指令)及模拟策略(如界面访问深度),控制所述分身应用程序在所述预设运行环境中运行,并获取待编译文件。
最后通知编译模块对待编译文件进行编译,以获取编译文件。
为了实现上述实施例,本公开还提出一种应用程序的运行装置。
图3为本公开实施例所提供的应用程序的运行装置的结构示意图。
如图3所示,该应用程序的运行装置300可以包括:
监测模块301,用于在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序;
模拟运行模块302,用于控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件;
编译模块303,用于对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。
在一些可能的实现方式中,模拟运行模块,具体用于:
基于预设的控制信息,控制分身应用程序在预设运行环境中运行。
在一些可能的实现方式中,预设的控制信息包括以下至少一项:
运行时长;
界面访问深度;及
分身应用程序对应的操作指令。
在一些可能的实现方式中,还包括第一确定模块,用于:
获取目标应用程序对应的功能数量;
基于功能数量,确定运行时长。
在一些可能的实现方式中,还包括处理模块,用于:
在控制分身应用程序在预设运行环境中运行的过程中,若检测到终端设备当前的状态为非预设状态,删除分身应用程序及预设运行环境,或者;
在控制分身应用程序在预设运行环境中运行结束后,删除分身应用程序及预设运行环境。
在一些可能的实现方式中,还包括第二确定模块,用于:
在终端设备当前的剩余电量大于电量阈值、且处于待机状态的情况下,确定终端设备当前的状态为预设状态。
在一些可能的实现方式中,待编译文件中包括热点函数及类信息。
本公开实施例中的上述各模块的功能及具体实现原理,可参照上述各方法实施例,此处不再赘述。
本公开实施例的应用程序的运行装置,首先可以在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序,并控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件,最后对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。由此,可以在终端设备为预设状态时,在预设运行环境中运行分身应用程序,并对获取的待编译文件进行编译,从而在目标应用程序首次运行时,可以直接使用编译文件,从而可以提高目标应用程序首次运行时的速度。
为了实现上述实施例,本公开还提出一种终端设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本公开前述实施例提出的应用程序的运行方法。
为了实现上述实施例,本公开还提出一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,实现如本公开前述实施例提出的应用程序的运行方法。
图4示出了适于用来实现本公开实施方式的示例性终端设备的框图。图4显示的终端设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,终端设备12以通用计算设备的形式表现。终端设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
终端设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被终端设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。终端设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
终端设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该终端设备12交互的设备通信,和/或与使得该终端设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,终端设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与终端设备12的其它模块通信。应当明白,尽管图中未示出,可以结合终端设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
本公开的技术方案,可以在检测到终端设备中存在未运行过的目标应用程序、且终端设备当前的状态为预设状态的情况下,生成预设运行环境及目标应用程序对应的分身应用程序,并控制分身应用程序在预设运行环境中运行,以获取目标应用程序对应的待编译文件,最后对待编译文件进行编译,以获取目标应用程序在终端设备运行时所需的编译文件。由此,可以在终端设备为预设状态时,在预设运行环境中运行分身应用程序,并对获取的待编译文件进行编译,从而在目标应用程序首次运行时,可以直接使用编译文件,从而可以提高目标应用程序首次运行时的速度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种应用程序的运行方法,其特征在于,包括:
在检测到终端设备中存在未运行过的目标应用程序、且所述终端设备当前的状态为预设状态的情况下,生成预设运行环境及所述目标应用程序对应的分身应用程序;
控制所述分身应用程序在所述预设运行环境中运行,以获取所述目标应用程序对应的待编译文件;
对所述待编译文件进行编译,以获取所述目标应用程序在所述终端设备运行时所需的编译文件。
2.根据权利要求1所述的方法,其特征在于,所述控制所述分身应用程序在所述预设运行环境中运行,包括:
基于预设的控制信息,控制所述分身应用程序在所述预设运行环境中运行。
3.根据权利要求1所述的方法,其特征在于,所述预设的控制信息包括以下至少一项:
运行时长;
界面访问深度;及
所述分身应用程序对应的操作指令。
4.根据权利要求3所述的方法,其特征在于,还包括:
获取所述目标应用程序对应的功能数量;
基于所述功能数量,确定所述运行时长。
5.根据权利要求1所述的方法,其特征在于,还包括:
在控制所述分身应用程序在所述预设运行环境中运行的过程中,若检测到所述终端设备当前的状态为非预设状态,删除所述分身应用程序及所述预设运行环境,或者;
在控制所述分身应用程序在所述预设运行环境中运行结束后,删除所述分身应用程序及所述预设运行环境。
6.根据权利要求1-5任一所述的方法,其特征在于,还包括:
在所述终端设备当前的剩余电量大于电量阈值、且处于待机状态的情况下,确定所述终端设备当前的状态为预设状态。
7.根据权利要求1-5任一所述的方法,其特征在于,所述待编译文件中包括热点函数及类信息。
8.一种应用程序的运行装置,其特征在于,所述装置包括:
监测模块,用于在检测到终端设备中存在未运行过的目标应用程序、且所述终端设备当前的状态为预设状态的情况下,生成预设运行环境及所述目标应用程序对应的分身应用程序;
模拟运行模块,用于控制所述分身应用程序在所述预设运行环境中运行,以获取所述目标应用程序对应的待编译文件;
编译模块,用于对所述待编译文件进行编译,以获取所述目标应用程序在所述终端设备运行时所需的编译文件。
9.一种终端设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-7中任一所述的应用程序的运行方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7中任一所述的应用程序的运行方法。
CN202310956175.9A 2023-08-01 2023-08-01 应用程序的运行方法、装置、终端设备及存储介质 Active CN116661909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310956175.9A CN116661909B (zh) 2023-08-01 2023-08-01 应用程序的运行方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310956175.9A CN116661909B (zh) 2023-08-01 2023-08-01 应用程序的运行方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN116661909A true CN116661909A (zh) 2023-08-29
CN116661909B CN116661909B (zh) 2024-07-09

Family

ID=87721105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310956175.9A Active CN116661909B (zh) 2023-08-01 2023-08-01 应用程序的运行方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN116661909B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180143817A1 (en) * 2016-11-23 2018-05-24 Beijing Xiaomi Mobile Software Co., Ltd. Method and equipment for executing a file
WO2019114506A1 (zh) * 2017-12-14 2019-06-20 Oppo广东移动通信有限公司 编译优化方法、装置、存储介质、智能终端及服务器
CN111399928A (zh) * 2018-12-14 2020-07-10 北京奇虎科技有限公司 应用程序的启动方法、装置、电子设备及可读存储介质
CN111625289A (zh) * 2020-05-06 2020-09-04 小船出海教育科技(北京)有限公司 应用程序快速启动方法、装置和电子设备
CN113031955A (zh) * 2019-12-24 2021-06-25 Oppo广东移动通信有限公司 应用程序预编译的方法、装置以及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180143817A1 (en) * 2016-11-23 2018-05-24 Beijing Xiaomi Mobile Software Co., Ltd. Method and equipment for executing a file
WO2019114506A1 (zh) * 2017-12-14 2019-06-20 Oppo广东移动通信有限公司 编译优化方法、装置、存储介质、智能终端及服务器
CN111399928A (zh) * 2018-12-14 2020-07-10 北京奇虎科技有限公司 应用程序的启动方法、装置、电子设备及可读存储介质
CN113031955A (zh) * 2019-12-24 2021-06-25 Oppo广东移动通信有限公司 应用程序预编译的方法、装置以及电子设备
CN111625289A (zh) * 2020-05-06 2020-09-04 小船出海教育科技(北京)有限公司 应用程序快速启动方法、装置和电子设备

Also Published As

Publication number Publication date
CN116661909B (zh) 2024-07-09

Similar Documents

Publication Publication Date Title
US6279154B1 (en) Apparatus and method for an install system for third party applications
CN111984163B (zh) 应用图标显示方法、装置及电子设备
CN102955706B (zh) 一种双操作***的安装方法以及引导加载方法
CN111625289B (zh) 应用程序快速启动方法、装置和电子设备
CN107291950B (zh) 表单数据更新方法、装置及计算机设备
CN104679540A (zh) 计算机***与计算机***启动方法
CN109002346B (zh) 一种Windows虚拟机引导程序的转换方法
US20180247335A1 (en) Method and device for displaying app recommendation information
CN113760306B (zh) 安装软件的方法、装置、电子设备及存储介质
CN104199692A (zh) 一种获取应用程序的启动时间的方法、装置及终端
CN102043662A (zh) 多操作***的数据修改方法
CN105389190A (zh) 一种操作***启动的方法、装置及***
CN105138366A (zh) 一种识别软件的静默安装的方法与装置
CN116661909B (zh) 应用程序的运行方法、装置、终端设备及存储介质
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
CN111367799B (zh) 定位源代码崩溃位置的方法、装置、介质及电子设备
CN112836156A (zh) 页面切换方法、装置、电子设备及计算机可读存储介质
KR101478034B1 (ko) 컨텐츠의 코드 분석 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체
CN111475819B (zh) 识别异常终端设备的方法及装置、存储介质、电子设备
CN115145595A (zh) 依赖库的安装方法、装置、服务器、电子设备及存储介质
CN101470616B (zh) 预安装方法以及预安装映像***形成方法
CN112667310A (zh) 游戏引擎编辑器启动方法、装置、电子设备和存储介质
CN113821205A (zh) 小程序页面参数的控制方法及装置、介质及电子设备
CN104866329A (zh) 一种启动方法及电子设备
KR102292211B1 (ko) 전자기기

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant