CN110543337A - 应用程序加载处理方法、电子设备及介质 - Google Patents
应用程序加载处理方法、电子设备及介质 Download PDFInfo
- Publication number
- CN110543337A CN110543337A CN201910830677.0A CN201910830677A CN110543337A CN 110543337 A CN110543337 A CN 110543337A CN 201910830677 A CN201910830677 A CN 201910830677A CN 110543337 A CN110543337 A CN 110543337A
- Authority
- CN
- China
- Prior art keywords
- application program
- loading
- information
- application
- present disclosure
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种应用程序加载处理方法,包括:获得应用程序的启动指令;基于启动指令启动应用程序,以加载应用程序,其中,加载应用程序包括直接从缓存中读取资源数据,资源数据为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。本公开还提供了一种电子设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及一种应用程序加载处理方法、电子设备及介质。
背景技术
应用程序在使用(包括启动、切换、跳转等)过程中,如果需要加载比较大的资源,容易导致操作耗时较长,进而造成程序卡顿、系统功耗较大等。
针对上述问题,相关技术中提供了一些解决方案:比如避免将耗时过长的资源加载过程放在前端UI服务中实现,但是这种操作只能在部分情况下减少耗时,并且可能导致图片加载失败;或者在操作系统或框架层为应用程序预留较多的内存/CPU等资源,但是这种操作也只能在部分情况下减少耗时,并且可能造成其他应用程序操作耗时过长;或者减少比较大的文件资源的使用,这种操作可能会影响界面显示效果。
发明内容
本公开的一个方面提供了一种应用程序加载处理方法,包括:获得应用程序的启动指令;基于所述启动指令启动所述应用程序,以加载所述应用程序,其中,所述加载所述应用程序包括直接从缓存中读取资源数据,所述资源数据为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。
可选地,所述记录信息为所述应用程序首次启动过程中记录的所述应用程序的加载操作的耗时超过时长条件的加载操作信息。
可选地,所述记录信息为动态更新的信息。
可选地,所述动态更新的信息为基于更新后的所述应用程序启动过程中记录的加载操作的耗时超过所述时长条件的加载操作信息替换所述记录信息得到的信息。
可选地,所述动态更新的信息为基于所述应用程序加载过程中针对预先加载到内存以缓存的缓存数据使用信息更新所述记录信息而得到的信息。
可选地,所述方法还包括:基于所述启动指令启动所述预加载服务,其中,所述预加载服务用于将所述应用程序在加载过程中所需的资源数据提前加载到内存中。
本公开的另一个方面提供了一种电子设备,包括:获取模块,用于获得应用程序的启动指令;启动模块,用于基于所述启动指令启动所述应用程序,以加载所述应用程序,其中,所述加载所述应用程序包括直接从缓存中读取资源数据,所述资源数据为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。
本公开的另一方面提供了另一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现本公开实施例的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的应用程序加载处理方法和电子设备的应用场景;
图2示意性示出了根据本公开实施例的应用程序加载处理方法的流程图;
图3A示意性示出了根据本公开实施例的用于应用程序加载处理方法的系统架构图;
图3B示意性示出了根据本公开实施例的预加载方法的逻辑图;
图3C示意性示出了根据本公开另一实施例的应用程序加载处理方法的流程图;
图4示意性示出了根据本公开实施例的电子设备的框图;以及
图5示意性示出了根据本公开另一实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种应用程序加载处理方法以及能够应用该方法的电子设备。该方法包括获得应用程序的启动指令,进而基于该启动指令启动该应用程序,以加载该应用程序,其中,该加载该应用程序包括直接从缓存中读取资源数据,该资源数据为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。
图1示意性示出了根据本公开实施例的应用程序加载处理方法和电子设备的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
应用程序在启动、切换、跳转时通常需要显示对应的用户界面UI,如图1所示,显示一个视频播放界面。而显示一个UI通常需要加载文本、图片、视频等资源。如果需要加载的资源比较大,则很容易导致操作耗时较长,进而造成程序卡顿、系统功耗较大等。
针对上述问题,本公开实施例提供了一种能够对加载耗时过长的资源进行一次提前加载的应用程序加载处理方法,其核心操作是在使用过程中,提前加载耗时较多的资源文件,从而在前端UI使用时不需要通过输入输出接口读取系统外部存储的资源文件,从而能够减少前端UI使用中的加载耗时时间,以使得应用程序使用起来更为流畅。
具体地,本公开实施例的基本思路是:在首次使用应用程序的过程中,记录和分析耗时超过一定时长的文件/图片/视频等资源加载操作,在再次使用该应用程序时,对能够提前处理的耗时超过一定时长的加载操作进行提前处理。采用本公开实施例的优势在于:应用程序在使用过程中,尤其在前端界面UI进程中资源加载的等待时间会缩短,从而提高响应速度。
以下将参考附图并结合具体实施例详细阐述本公开。
图2示意性示出了根据本公开实施例的应用程序加载处理方法的流程图。
如图2所示,该方法例如可以包括操作S210~S220。
在操作S210,获得应用程序的启动指令。
具体地,在本公开实施例中,对于操作S210,针对一个应用程序,例如可以通过检测用户操作来获取该应用程序的启动指令。其中用户操作包括但不限于点击(如单击、双击等)、拖动、长按、短按、注视、手势等操作。例如,用户可以通过点击、或者拖动、或者长按、或者短按、或者注视或者指向一个应用程序的图标来对该应用程序发起启动指令。
接下来,在操作S220,基于该启动指令启动该应用程序,以加载该应用程序。
具体地,在本公开实施例中,加载一个应用程序例如可以包括加载该应用程序的界面以及界面中包含的内容。其中应用程序界面中包含的内容例如可以包括但不限于文字、图片、动图、超链接和视频等。对于一个应用程序,加载完成的结果就是呈现该应用程序的界面以及界面中包含的内容。
此外,在本公开实施例中,对于一个应用程序,加载该应用程序例如可以包括直接从缓存中读取该应用程序的界面中包含的内容的资源数据。其中在本公开实施例中,缓存的资源数据例如可以为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。具体地,在本公开实施例中,资源数据例如可以缓存在预先设置的缓存池中。
需要说明的是,在本公开实施例中,上述预加载服务可以嵌入应用程序中供该应用程序专用,也可以设计成非嵌入的方式,供多个应用程序调用。对于以非嵌入方式设计的预加载服务,如果将其安装在一个电子设备上,那么还可以对该预加载服务进行配置,使得该预加载服务可以被配置为为该电子设备中安装的所有应用程序提供预加载服务,或者使得该预加载服务可以被配置为为该电子设备中安装的特定应用程序提供预加载服务。
此外,在本公开实施例中,对于一个应用程序,在加载该应用程序的过程中,如果某些资源数据从缓存中读不到,例如还可以去内存读取。
通过本公开实施例,对于一个应用程序,可以将需要加载的资源数据提前加载至内存并进行缓存,使得启动该应用程序的前端UI进程时,可以直接从缓存中读取资源数据,而无需通过输入输出接口从外部存储读取资源数据,因而可以减少前端UI进程的加载耗时,防止程序卡顿,使得应用程序使用起来更为流畅。
应该理解,在本公开实施例中,对于一个应用程序,其在切换、跳转时的加载处理方法与启动时的加载处理方法类似,在此不再赘述。
下面参考图3A~图3C,结合具体实施例对图2所示的方法做进一步说明。
作为一种可选的实施例,对于一个应用程序,记录信息例如可以为该应用程序首次启动过程中记录的该应用程序的加载操作的耗时超过时长条件的加载操作信息。
具体地,在本公开实施例中,可以根据实际情况设置时长条件,如设置为1s。对于一个应用程序,首次启动该应用程序时,针对每一项加载操作都判断其耗时是否超过该时长条件(如1s)。其中如果一项加载操作耗时未超过该时长条件,则不做处理。如果该项加载操作耗时超过该时长条件,则记录该项加载操作的加载操作信息。按照上述逻辑方法,可以得到所有的耗时超过该时长条件的加载操作的记录信息。
并且,在本公开实施例中,如图3A所示,例如可以添加统计记录服务,用于统计每一项加载操作的耗时时间,同时记录耗时时间超过时长条件的所有加载操作,并将记录信息存在预先设置的存储模块中。
需要说明的是,在本公开实施例中,上述统计记录服务与前述实施例中的预加载服务在设计方式上可以相同或者类似。即,该统计记录服务可以嵌入应用程序中供该应用程序专用,也可以设计成非嵌入的方式,供多个应用程序调用。对于以非嵌入方式设计的统计记录服务,如果将其安装在一个电子设备上,那么还可以对该统计记录服务进行配置,使得该统计记录服务可以被配置为为该电子设备中安装的所有应用程序提供统计记录服务,或者使得该统计记录服务可以被配置为为该电子设备中安装的特定应用程序提供统计记录服务。
此外,在本公开实施例中,如图3A所示,例如可以添加预处理服务,用于基于存储模块中存在的记录信息,提前处理耗时超过时长条件的加载操作,从而提前加载相应的资源数据并存储到内存中,同时缓存到缓存池中,以供前端UI在应用程序启动时使用。
如图3B所示,图中展示了一个应用程序首次使用(包括启动、切换、跳转等)时耗时加载操作的耗时情况(如首次使用情景中疏斜纹表示的长条对应于耗时操作),同时还展示了耗时加载操作经预处理服务处理后,该应用程序再次使用时耗时加载操作的耗时情况(如首次使用情景中密斜纹表示的长条对应于耗时操作)。由此可见,该应用程序再次使用时原来耗时的加载操作明显缩短了耗时时间。
作为一种可选的实施例,上述记录信息例如可以为动态更新的信息。换言之,在本公开实施例中,例如如图3A所示的存储模块中存储的记录信息是可以动态更新的。
一个应用程序从发布开始,在投入使用过程通常会不断更新。更新后的应用程序与更新前的应用程序相比,无论是界面还是界面中包含的内容都有可能发生改变,因此加载操作以及执行加载操作所加载的资源数据也可能随之发生改变。
需要说明的是,在本公开实施例中,除了应用程序更新可能导致针对该应用程序的加载操作所加载的资源数据随之发生改变之外,如果对加载操作所针对的数据资源进行更新(例如用户更新了应用程序的界面中显示的某幅图片等),则也可能导致针对该应用程序的加载操作所加载的资源数据随之发生改变。
此外,针对用户从电子设备中删除一个应用程序的情况,也可以对存储模块进行记录信息更新,即删除该模块中关于该应用程序的所有记录信息。
为了防止一个应用程序更新后产生新的耗时加载操作而导致该应用程序在更新后再次出现加载耗时较长的情况,因此本公开实施例还提供了一套动态更新记录信息的方法逻辑。
作为一种可选的实施例,该动态更新的信息为基于更新后的该应用程序启动过程中记录的加载操作的耗时超过该时长条件的加载操作信息替换该记录信息得到的信息。
具体地,在本公开实施例中,对于一个应用程序,该应用程序每更新一次则认为是一次新的首次启动过程。因此,对于更新后的应用程序,在首次启动过程中,电可以通过如图3A所示的统计记录服务统计每一项加载操作的耗时时间,同时记录耗时时间超过预先设置的时长条件的所有加载操作,得到新的记录信息,并将新得到的记录信息覆盖插入到如图3A所示的存储模块中,从而将应用程序更新前的记录信息替换为应用程序更新后的记录信息,实现记录信息的动态更新。
具体地,如图3A所示,每个应用程序(如手机应用)一般都运行一个前端UI。前端UI可以把需要显示的模块都展示出来。在本公开实施例中,例如可以在前端UI的进程里,添加统计记录服务的入口,从而可以对各个模块进行加载耗时统计。具体地,统计记录服务可以统计UI中所有需要显示的模块的加载耗时时间,并分析其耗时较长的原因。其中耗时较长的主要原因包括外部存储数据的输入输出、图片解析、视频解析等。对此,可以将加载耗时较长、并且可以进行输入输出预加载,或者图片/视频预先解析的资源加载操作的相关信息记录下来,并写入图中的存储模块。存储模块可以将所有的能够进行预处理的资源加载操作的相关信息记录下来。针对一个应用程序,在不影响前端UI正常运行的情况下,预处理服务可以基于存储模块中存储的记录信息提前将相关资源数据加载到内存。具体地,对于一个应用程序,在启动该应用程序的过程中,预处理服务可以在前端UI进程启动之前及时启动,并从存储模块获取数据,根据获取的数据,及早将耗时较多的资源加载操作运行起来。此外如果需要对已加载的图片/视频进行预先解析,则还可以对这些图片/视频进行解析处理。这样在前端UI需要这些资源数据时,这些资源数据已经在内存中准备好了,可以直接从内存中读取,因此耗时会明显减少。此外,在本公开实施例中,预处理服务预先加载的资源,还可以缓存到缓存池中,这样前端UI进程使用资源时,可以先从缓存池中读取。对于大文件而言,从缓存池中读取会极大地提高响应速度。此外,在本公开实施例中还可以添加分析调整服务。由于应用程序一般会不断地更新,并且应用程序在不同的手机运行环境里(如高端配置手机和低端配置手机等),还可能受手机配置参数的影响而有不同的操作耗时,因此存储模块中存储的记录信息可以在特定条件下进行更新。例如存储模块可以结合前端UI进程的运行情况以及缓存池中的缓存数据的使用情况更新记录信息。
需要说明的是,在本公开实施例中,上述分析调整服务与前述的统计记录服务以及前述的预加载服务在设计方式上可以相同或者类似。即,该分析调整服务可以嵌入应用程序中供该应用程序专用,也可以设计成非嵌入的方式,供多个应用程序调用。对于以非嵌入方式设计的分析调整服务,如果将其安装在一个电子设备上,那么还可以对该分析调整服务进行配置,使得该分析调整服务可以被配置为为该电子设备中安装的所有应用程序提供分析调整服务,或者使得该分析调整服务可以被配置为为该电子设备中安装的特定应用程序提供分析调整服务。
通过本公开实施例,通过动态更新已经记录的资源加载操作的相关信息,对前端UI而言可以减少不必要的加载耗时。
作为一种可选的实施例,该动态更新的信息为基于该应用程序加载过程中针对预先加载到内存以缓存的缓存数据命中信息更新该记录信息而得到的信息。
需要说明的是,在本公开实施例中,对于一个应用程序,由于预先加载完成的资源数据不一定全部都被该应用程序使用。但是所有已被该应用程序使用过的资源数据都可以被该应用程序从内存读入缓存池中缓存。即缓存池中的缓存数据可以认为是内存中被命中的资源数据。因此,在本公开实施例中,例如还可以在系统架构中添加如图3A所示的分析调整服务(即分析调整线程),用于分析存储模块中存储的记录信息和缓存池中缓存的资源数据,从而确定与内存中被命中的资源数据对应的加载操作(在此称为被命中的加载操作)。在此基础上,在动态更新记录信息时可以基于该被命中的加载操作记录耗时超过时长条件的加载操作信息,进而依此更新存储模块中的记录信息。
例如,如果命中的都是与图片或视频相关的资源数据,则在更新记录信息时,可以仅仅统计并记录与加载图片或视频相关的且加载耗时超过时长条件的加载操作,得到新的记录信息,并新得到的记录信息更新至存储模块中。这样可以减少资源数据预加载量,从而提高处理效率,同时还可以节约内存空间。
此外,在本公开实施例中,除了预加载相关资源数据之外,对于预加载的图片,还可以进行预解析处理。
通过本公开实施例,通过基于命中的加载操作动态更新已经记录的资源加载操作的相关信息,可以减少不必要的预加载。
作为一种可选的实施例,该方法例如还可以包括如下操作。
基于该启动指令启动该预加载服务,其中,该预加载服务例如可以用于将该应用程序在加载过程中所需的资源数据提前加载到内存中。
在本公开实施例中,对于一个应用程序,通过该应用程序的启动指令启动该应用程序例如可以包括启动如图3A中所示的预加载服务以及对应的UI。需要说明的是,由于预加载服务是为UI提供资源数据的,因此在本公开实施例中,通过时序控制,可以使预加载服务早于UI生成服务启动。同样,在本公开实施例中,一个应用程序的关闭指令除了可以关闭该应用程序之外,还可以关闭针对这个应用程序的预加载服务。即一个应用程序关闭后,针对这个应用程序的预加载服务也可以关闭。
以下以一个具体实施例详细阐述本公开。
图3C示意性示出了根据本公开另一实施例的应用程序加载处理方法的流程图。
如图3C所示,应用程序加载处理方法例如可以包括如下操作。
在操作S300,启动应用程序。
在操作S310A,启动预加载服务。
在操作S320A,从存储模块读取记录信息。
在操作S330A,将相关资源预加载至缓存池中。
在操作S340A,读取记录信息。
在操作S350A,统计缓存数据的命中情况并更新存储模块中的记录信息。
在操作S360A,统计缓存数据的使用情况并更新存储模块中的记录信息。
在操作S370A,服务结束。
在操作S310B,启动前端UI进程。
在操作S320B,从缓存池中读取读取资源数据。
在操作S330B,计算非缓存资源的加载耗时时间。
在操作S340B,保存非缓存资源的加载耗时信息。
需要说明的是,在本公开实施例中,操作S310B中启动前端UI进程的时刻晚于操作S310A中启动预加载服务的时刻。
图4示意性示出了根据本公开实施例的电子设备的框图。
如图4所示,电子设备400包括获取模块401和启动模块402。该电子设备400可以执行上面方法部分实施例描述的方法,以实现提前加载并缓存应用程序中加载耗时时间较长的图片、视频等内容的目的。
具体地,获取模块401用于获得应用程序的启动指令。
启动模块402用于基于该启动指令启动该应用程序,以加载该应用程序。其中,该加载该应用程序包括直接从缓存中读取资源数据,该资源数据为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。
通过本公开实施例,对于一个应用程序,可以将需要加载的资源数据提前加载至内存并进行缓存,使得启动该应用程序的前端UI进程时,可以直接从缓存中读取资源数据,而无需通过输入输出接口从外部存储读取资源数据,因而可以减少前端UI进程的加载耗时,防止程序卡顿,使得应用程序使用起来更为流畅。
应该理解,在本公开实施例中,装置部分的实施例与方法部分的实施例在所解决的技术问题、所使用的技术手段以及所达到的技术效果等方面对应相同或类似,在此不再赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,取模块401和启动模块402中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,取模块401和启动模块402中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,取模块401和启动模块402中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开另一实施例的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500包括处理器510、计算机可读存储介质520。该电子设备500可以执行根据本公开实施例的方法。
具体地,处理器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器510还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质520,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质520可以包括计算机程序521,该计算机程序521可以包括代码/计算机可执行指令,其在由处理器510执行时使得处理器510执行根据本公开实施例的方法或其任何变形。
计算机程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序521中的代码可以包括一个或多个程序模块,例如包括521A、模块521B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器510执行时,使得处理器510可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,取模块401和启动模块402中的至少一个可以实现为参考图5描述的计算机程序模块,其在被处理器510执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种应用程序加载处理方法,包括:
获得应用程序的启动指令;
基于所述启动指令启动所述应用程序,以加载所述应用程序,
其中,所述加载所述应用程序包括直接从缓存中读取资源数据,所述资源数据为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。
2.根据权利要求1所述的方法,其中,所述记录信息为所述应用程序首次启动过程中记录的所述应用程序的加载操作的耗时超过时长条件的加载操作信息。
3.根据权利要求1所述的方法,其中,所述记录信息为动态更新的信息。
4.根据权利要求3所述的方法,其中,所述动态更新的信息为基于更新后的所述应用程序启动过程中记录的加载操作的耗时超过所述时长条件的加载操作信息替换所述记录信息得到的信息。
5.根据权利要求4所述的方法,其中,所述动态更新的信息为基于所述应用程序加载过程中针对预先加载到内存以缓存的缓存数据使用信息更新所述记录信息而得到的信息。
6.根据权利要求1所述的方法,其中,还包括:
基于所述启动指令启动所述预加载服务,
其中,所述预加载服务用于将所述应用程序在加载过程中所需的资源数据提前加载到内存中。
7.一种电子设备,包括:
获取模块,用于获得应用程序的启动指令;
启动模块,用于基于所述启动指令启动所述应用程序,以加载所述应用程序,
其中,所述加载所述应用程序包括直接从缓存中读取资源数据,所述资源数据为预加载服务根据记录信息预先加载到内存以缓存的缓存数据。
8.根据权利要求7所述的电子设备,其中,所述记录信息为所述应用程序首次启动过程中记录的所述应用程序的加载操作的耗时超过时长条件的加载操作信息。
9.一种电子设备,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910830677.0A CN110543337A (zh) | 2019-09-02 | 2019-09-02 | 应用程序加载处理方法、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910830677.0A CN110543337A (zh) | 2019-09-02 | 2019-09-02 | 应用程序加载处理方法、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110543337A true CN110543337A (zh) | 2019-12-06 |
Family
ID=68711175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910830677.0A Pending CN110543337A (zh) | 2019-09-02 | 2019-09-02 | 应用程序加载处理方法、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543337A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835634A (zh) * | 2021-01-20 | 2021-05-25 | 深圳市瑞驰信息技术有限公司 | 一种基于缓存的安卓应用程序快速启动的系统及方法 |
CN113867921A (zh) * | 2021-10-25 | 2021-12-31 | 联想(北京)有限公司 | 处理方法、装置、电子设备及存储介质 |
CN113946380A (zh) * | 2020-07-17 | 2022-01-18 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN114185622A (zh) * | 2021-12-17 | 2022-03-15 | 中国平安财产保险股份有限公司 | 页面加载方法、装置、设备及存储介质 |
CN117707657A (zh) * | 2023-07-05 | 2024-03-15 | 荣耀终端有限公司 | 应用界面的显示方法、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541602A (zh) * | 2011-12-28 | 2012-07-04 | 用友软件股份有限公司 | 界面的预加载装置和预加载方法 |
CN105760199A (zh) * | 2016-02-23 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种应用资源加载方法及其设备 |
CN108334383A (zh) * | 2018-03-30 | 2018-07-27 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN108536481A (zh) * | 2018-02-28 | 2018-09-14 | 努比亚技术有限公司 | 一种应用程序启动方法、移动终端及计算机存储介质 |
CN109151216A (zh) * | 2018-10-30 | 2019-01-04 | 努比亚技术有限公司 | 应用启动方法、移动终端、服务器及计算机可读存储介质 |
-
2019
- 2019-09-02 CN CN201910830677.0A patent/CN110543337A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541602A (zh) * | 2011-12-28 | 2012-07-04 | 用友软件股份有限公司 | 界面的预加载装置和预加载方法 |
CN105760199A (zh) * | 2016-02-23 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种应用资源加载方法及其设备 |
CN108536481A (zh) * | 2018-02-28 | 2018-09-14 | 努比亚技术有限公司 | 一种应用程序启动方法、移动终端及计算机存储介质 |
CN108334383A (zh) * | 2018-03-30 | 2018-07-27 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN109151216A (zh) * | 2018-10-30 | 2019-01-04 | 努比亚技术有限公司 | 应用启动方法、移动终端、服务器及计算机可读存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946380A (zh) * | 2020-07-17 | 2022-01-18 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN113946380B (zh) * | 2020-07-17 | 2024-05-10 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN112835634A (zh) * | 2021-01-20 | 2021-05-25 | 深圳市瑞驰信息技术有限公司 | 一种基于缓存的安卓应用程序快速启动的系统及方法 |
CN113867921A (zh) * | 2021-10-25 | 2021-12-31 | 联想(北京)有限公司 | 处理方法、装置、电子设备及存储介质 |
CN114185622A (zh) * | 2021-12-17 | 2022-03-15 | 中国平安财产保险股份有限公司 | 页面加载方法、装置、设备及存储介质 |
CN114185622B (zh) * | 2021-12-17 | 2023-11-24 | 中国平安财产保险股份有限公司 | 页面加载方法、装置、设备及存储介质 |
CN117707657A (zh) * | 2023-07-05 | 2024-03-15 | 荣耀终端有限公司 | 应用界面的显示方法、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543337A (zh) | 应用程序加载处理方法、电子设备及介质 | |
US9891854B2 (en) | Memory management method | |
US10275158B2 (en) | Apparatus and method for improving operation speed of application | |
JP5911892B2 (ja) | ハイバネイトからの多段レジューム | |
KR101702700B1 (ko) | 고속 컴퓨터 시동 | |
US11733849B2 (en) | Method and apparatus for user guide, device and storage medium | |
EP2503455A2 (en) | Method for customizing user interface and electronic device thereof | |
CN110825456A (zh) | 加载时间计算方法、装置、计算机设备及存储介质 | |
CN109684573B (zh) | 目标图片显示方法及装置、存储介质、电子设备 | |
US8982161B2 (en) | Image data processing device, image data processing method, and program | |
CN113474756A (zh) | 应用程序的处理方法、装置、存储介质及电子设备 | |
US20130054951A1 (en) | Software execution method and electronic device using the same | |
CN115576645B (zh) | 一种虚拟处理器调度方法、装置、存储介质及电子设备 | |
US20150067701A1 (en) | Creating a custom series of commands | |
CN111538574A (zh) | 任务堆栈的管理方法、装置、终端及存储介质 | |
US20120331235A1 (en) | Memory management apparatus, memory management method, control program, and recording medium | |
US8904373B2 (en) | Method for persisting specific variables of a software application | |
EP2869189A1 (en) | Boot up of a multiprocessor computer | |
CN114443442B (zh) | 日志存储方法及电子设备 | |
CN108563320B (zh) | 处理方法以及处理系统 | |
CN109144844B (zh) | 追踪方法、装置、设备和机器可读介质 | |
CN110798521A (zh) | 分享文件的方法、装置、电子设备及存储介质 | |
US20100315564A1 (en) | Embedded electronic device | |
US11954502B2 (en) | Electronic apparatus and the control method thereof | |
US20130103907A1 (en) | Memory management device, memory management method, control program, and recording medium |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191206 |