CN111258676B - 模块预加载方法、装置、设备及可读存储介质 - Google Patents
模块预加载方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111258676B CN111258676B CN202010051954.0A CN202010051954A CN111258676B CN 111258676 B CN111258676 B CN 111258676B CN 202010051954 A CN202010051954 A CN 202010051954A CN 111258676 B CN111258676 B CN 111258676B
- Authority
- CN
- China
- Prior art keywords
- module
- preloading
- preloaded
- application program
- information
- 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.)
- Active
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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及大数据领域,具体公开了一种模块预加载方法、装置、设备及计算机可读存储介质,通过获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表;获取所述应用程序的运行时长,并根据所述运行时长和所述模块预加载表,获取待预加载模块的模块信息;根据所述待预加载模块的模块信息预加载所述待预加载模块,实现了确定每一个时长区间内的待加载模块,提高了预加载命中率,其动态预加载常用模块减少了用户进入新模块的等待时间,节约了设备的电量。
Description
技术领域
本发明涉及大数据领域,尤其涉及模块预加载方法、装置、设备及计算机可读存储介质。
背景技术
目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等终端已成为人们日常生活中必不可少的电子设备。随着终端设备不断地智能化,多数终端设备中都装载有操作系统,使得终端设备能够安装丰富多样的应用程序,满足用户不同的需求。然而在日常使用中,经常出现页面卡顿、列表滑动不流畅、数据显示不及时等等,例如,点击一些页面(特别是H5时)会出现明显的等待过程,甚至会出现短暂的白屏现象等。
现在市面上对于这种现象的处理方法就是在app启动时,对特殊节点的模块进行初始化,但每个用户对app的使用习惯是不一致的,比如有人常用A模块,有人常用B模块,初始化常用模块不能根据用户的操作自动进行预加载,提前初始化的模块命中率较低,导致应用程序的页面卡顿或者设备耗电量较大。
发明内容
本发明的主要目的在于提供一种模块预加载方法、装置、设备及计算机可读存储介质,旨在解决现有初始化常用模块不能根据用户的操作自动进行预加载,提前初始化的模块命中率较低,导致应用程序的页面卡顿或者设备耗电量较大的问题。
第一方面,本申请一种模块预加载方法,所述模块预加载方法包括:
获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表;
获取所述应用程序的运行时长,并根据所述运行时长和所述模块预加载表,获取待预加载模块的模块信息;
根据所述待预加载模块的模块信息预加载所述待预加载模块。
第二方面,本申请还提供一种模块预加载装置,所述模块预加载装置包括:
第一生成模块,用于获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表;
第一获取模块,用于获取所述应用程序的运行时长,并根据所述运行时长和所述模块预加载表,获取待预加载模块的模块信息;
预加载模块,用于根据所述待预加载模块的模块信息预加载所述待预加载模块。
第三方面,本申请一种计算机设备,所述计算机设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述模块预加载方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的模块预加载方法的步骤。
本发明实施例提出的一种模块预加载方法、装置、设备及计算机可读存储介质,通过获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表;获取所述应用程序的运行时长,并根据所述运行时长和所述模块预加载表,获取待预加载模块的模块信息;根据所述待预加载模块的模块信息预加载所述待预加载模块,实现了确定每一个时长区间内的待加载模块,提高了预加载命中率,其动态预加载常用模块减少了用户进入新模块的等待时间,节约了设备的电量。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种模块预加载方法的流程示意图;
图2为图1中的模块预加载方法的子步骤流程示意图;
图3为图1中的模块预加载方法的子步骤流程示意图;
图4为图1中的模块预加载方法的子步骤流程示意图;
图5为本申请实施例提供的另一种模块预加载方法的流程示意图;
图6为本申请实施例提供的一种模块预加载装置的示意性框图;
图7为本申请实施例提供的另一种模块预加载装置的示意性框图;
图8为本申请一实施例涉及的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种模块预加载方法、装置、设备及计算机可读存储介质。其中,该模块预加载方法可应用于终端设备中,该终端设备可以手机、平板电脑、笔记本电脑、台式电脑等。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请的实施例提供的一种模块预加载方法的的流程示意图。
如图1所示,该模块预加载方法包括步骤S100至步骤S300。
步骤S100、获取当前运行应用程序对应的记录表,并根据记录表中的模块信息,生成应用程序的模块预加载表;
终端实时检测应用程序,当检测到当前运行的应用程序时,获取该应用程序的名称信息。在获取到应用程序的名称信息,访问该名称信息对应的数据库。例如,终端在预先对应用程序的名称信息进行设置,在获取到应用程序的名称信息,通过对该应用程序的名称信息进行解析,获取该应用程序的名称信息中的数据库名称或地址,通过该数据库名称或地址访问对应的数据库。终端在访问数据库时,搜索数据库中与应用程序的名称信息关联的记录表,例如,数据库中记录表的名称信息与应用程序的名称信息一致,通过搜索该名称信息,获取对应的记录表。或者,通过预先设置关联码来对记录表和应用程序的名称信息进行关联,终端在获取到应用程序的名称信息时,获取该名称信息对应的关联码,通过关联码搜索该名称信息对应的记录表,对此不做限定。
在获取到待该应用程序对应的记录表时,读取该记录表中的模块信息。记录表中记录有应用程序在运行过程中不同时间区间运行的模块信息,例如,应用程序在开始运行的10秒内运行的模块名称和模块地址,在20秒内运行的模块名称和地址。通过根据获取到的模块信息生成应用程序的模块预加载表。例如,在获取到记录表中的模块信息时,调取预置的模块预加载模板,基于预置的模块预加载模板和模块信息,生成应用程序的模块预加载表。
在一实施例中,具体地,参照图2,步骤S100包括:子步骤S101至子步骤S104。
子步骤S101、获取到当前运行应用程序对应的记录表,并统计记录表中各个时长区间对应的模块数量;
终端获取当前运行应用程序对应的记录表,获取到对应的记录表,并统计该记录表中各个时长区间对应的模块数量。记录表为table_record表,table record表是一种操作记录表,该操作记录表包括序号列、时长区间列,模块名称、运行次数、标识地址等。在获取到记录表时,统计该记录表中各个时长区间中模块的数量。例如,当时长区间列有2个,为第一时长区间和第二时长区间,其中,第一时长区间中有模块A、模块B、模块C,则统计第一时长区间中模块数量为3个;第二时长区间中有模块A、模块B,则统计第二时长区间中模块数量为2个。
子步骤S102、当记录表中第一时长区间对应的模块数量大于或等于预置数量时,获取第一时长区间对应的各个模块的第一运行次数;
终端在统计记录表中各个时长区间的模块数量后,获取记录表中第一时长区间对应的模块数量,判断第一时长区间对应的模块数量是否大于预置数量,当判定第一时长区间对应的模块数量大于预置数量时,获取第一时长区间中各个模块的运行次数。例如,若终端读取第一时长区间中的模块数量为5为,预置数量为3时,则判定第一时长区间中的模块数量5大于预置数量3,对此不对预置数量做限定。当终端获取到第一时长区间对应的模块数量大于预置数量,获取第一时长区间对应的各个模块的运行次数。
子步骤S103、从记录表中获取第一运行次数大于或等于第一预置次数的模块对应的第一模块信息;
终端在获取到第一时长区间对应的各个模块的运行次数时,获取运行次数大于或等于第一预置次数的模块的的第一模块信息,例如,第一时长区间有5个模块,模块A、模块B、模块C、模块D、模块E。模块A的运行次数为2、模块B的运行次数为1、模块C的运行次数为5、模块D的运行次数为4、模块E的运行次数为2时,第一预置次数为3时,确定模块C和模块D的运行次数大于第一预置次数,获取模块C和模块D对应的模块信息,将模块C和模块D对应的模块信息作为第一模块信息。
子步骤S104、基于第一模块信息以及第一时长区间生成模块预加载表,其中,记录表和模块预加载表包括多个时长区间。
在获取到第一模块信息以及第一时长区间,基于第一模块信息以及第一时长区间生成该应用程序的模块预加载表,具体为,在获取到第一模块信息以及第一时长区间,调取预置模块预加载模板,将获取到的第一模块信息以及第一时长区间写入预置模块预加载模板中,生成该应用程序的模块预加载表。
其中,还包括当记录表中第一时长区间对应的模块数量小于预置数量时,获取第一时长区间对应的第一模块信息;获取记录表中第二时长区间对应的各个模块的第二运行次数,并从记录表中获取第二运行次数大于或等于第二预置次数的模块对应的第二模块信息;基于第一模块信息、第一时长区间、以及第二模块信息生成模块预加载表,其中,记录表和模块加载表包括多个时长区间。
当终端获取到记录表中第一时长区间对应的模块数量小于预置数量时,获取第一时长区间对应的第一模块信息。例如,当终端获取到第一时长区间对应的模块数量为2时,预置数量为3时,第一时长区间对应的模块数量2小于预置数量3,则获取第一时长区间对应的第一模块信息。获取记录表中第二时长区间对应的各个模块的第二运行次数,并在记录表中获取第二运行次数大于或等于第二预置次数的模块对应的第二模块信息。例如,第二时长区间对应有5个模块,模块A、模块B、模块C、模块D、模块E。模块A的运行次数为2、模块B的运行次数为1、模块C的运行次数为5、模块D的运行次数为4、模块E的运行次数为2时,第二预置次数为5时,确定模块C的运行次数5等于第二预置次数5,获取模块C的模块信息,将模块C的模块信息作为第二模块信息。终端在获取到第一模块信息、第二模块信息以及第一时长区间,基于第一模块信息、第二模块信息以及第一时长区间生成该应用程序的模块预加载表。具体为,在获取到第一模块信息、第二模块信息以及第一时长区间,调取预置模块预加载模板,将获取到的第一模块信息、第二模块信息以及第一时长区间写入预置模块预加载模板中,生成该应用程序的模块预加载表。
步骤S200、获取应用程序的运行时长,并根据运行时长和模块预加载表,获取待预加载模块的模块信息;
终端获取当前应用程序的运行时长,根据应用程序的运行时长和模块预加载表,获取待预加载模块的模块信息。具体为,终端获取应用程序开始运行的开始时刻和当前时刻,通过计算应用程序开始时刻和当前时刻,得到应用程序的运行时长。当获取到运行时长时,确定该运行时长所处模块预加载表中的时长区间,例如,模块预加载表中的第一时长区间为0-5秒,第二时长区间为6-10秒,时长区间的价格为5秒。当应用程序的运行时长为10秒时,该运行时长处于第二时长区间,当应用程序的运行时长为1秒时,该运行时长处于第一时长区间。通过第一时长区间,获取模块预加载表中第一时长区间中对应的模块信息,第一时长区间中的模块信息为待加载模块信息。
在一实施例中,具体地,参照图3,步骤S200包括:子步骤S201至子步骤S202。
子步骤S201、获取应用程序的第一运行时长,确定模块预加载表中第一运行时长对应的第一时长区间;
终端在生成该应用程序的模块待预加载表时,获取当前应用程序的第一运行时长。例如,终端接收到用户对该应用程序的运行指令时,记录该应用程序开始运行的开始时刻,当生成该应用程序的模块预加载表时,记录当前时刻。基于应用程序的开始时刻和当前时刻,得到当前应用程序的第一运行时长。通过该第一运行时长和模块预加载表,确定该第一运行时长对应该模块预加载表中对应的第一时长区间,例如,得到当前应用程序的第一运行时长为3秒时,模块预加载表中各个时长区间的区间间隔为5时,确定当前应用程序的第一运行时长对应模块预加载表中的第一时长区间。
子步骤S202、获取第一时长区间对应的至少一个待预加载模块的模块信息,其中,待预加载模块的模块信息包括名称和地址。
在确定当前应用程序的第一运行时长对应模块预加载表中的第一时长区间,获取模块预加载表中第一时长区间对应的待预加载模块的名称和地址,模块预加载表中的第一时长区间对应的待预加载模块数量至少为一个,对此不对第一时长区间对应的待预加载模块数量做限定。
步骤S300、根据待预加载模块的模块信息预加载待预加载模块。
终端在获取到待预加载模块的模块信息,基于该待预加载模块的模块信息预加载对应的待预加载模块。例如,终端在获取到待预加载模块的名称和地址,调取预置的加载程序。基于该加载程序、待预加载模块的名称和地址,对待预加载模块进行预加载,其中待预加载模块至少为一个,具体数量不做限定。
在一实施例中,具体地,参照图4,步骤S300包括:子步骤S301至子步骤S302。
子步骤S301、当获取到待预加载模块的名称,生成名称对应的线程;
当终端获取到待预加载模块的名称时,从应用程序的进程中生成一条与该名称对应的线程。线程(thread)是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,一条线程是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。例如,当终端获取到多个待预加载模块的名称时,分别从应用程序的进程中生成与多个待预加载模块的名称对应的线程,即一个待预加载模块的名称生成一条与该名称对应的线程。
子步骤S302、基于线程和待预加载模块的地址,预加载待预加载模块的名称和地址对应的待预加载模块。
终端基于生成的线程和待预加载模块的地址,通过该线程和待预加载模块的地址对待预加载模块进行预加载。例如,通过生成的线程执行预加载任务,通过该线程和待预加载模块的地址,执行预加载任务,即对该待预加载模块进行预加载。当生成多个线程时,采用一一对应的原则,通过每一个线程和对应的待预加载模块的地址,对该待预加载模块进行预加载。
在本实时例中,根据应用程序的记记录表生成模块预加载表,从而确定应用程序每一个时长区间内的待预加载模块,提高了待预加载模块命中率,其动态预加载常用模块减少了用户进入新模块的等待时间。
请参照图5,图5为本实施例提供的另一种模块预加载方法的流程示意图,如图5所示,该模块预加载方法包括:步骤S401至步骤S407。
步骤S401、记录应用程序的运行时长,以及运行时长对应的运行模块信息。
终端在接收到用户的语音指令或操作指令时,运行对应的应用程序并记录接收到用户的语音指令或操作指令的时刻,将该时刻作为应用程序运行的开始时刻。当检测到应用程序停止运行时,记录应用程序的停止时刻。根据应用程序的开始时刻和停止时刻,得到应用程序的运行时长。终端在记录应用程序的开始时刻和停止时刻时,记录应用程序在开始时刻至停止时刻之间的运行模块信息,其中运行模块信息包括运行模块的名称、地址、运行次数,运行时刻等。
步骤S402、基于预置时长,将运行时长分为多个时长区间,获取各个时长区间对应的所述运行模块信息,并基于各个所述时长区间和所述运行模块信息生成记录表。
获取预置时长,通过预置时长将运行时长分为多个时长区间,例如,终端在获取到该应用程序的运行时长为一分钟,获取到的预置时长为10秒,通过预置时长10秒,将运行时长为一分钟分为6个时长区间。获取各个时长区间对应的模块信息,并基于各个所述时长区间和所述运行模块信息生成记录表,具体为,通过应用程序运行的开始时刻和运行模块的时刻,得到运行模块在应用程序开始运行至运行模块开始运行的时长,基于预置时长,确定该运行模块处于哪一个时长区间。通过运行模块信息以及该运行模块所处的时长区间,生成应用程序的记录表。
步骤S403、获取当前运行应用程序对应的记录表,并根据记录表中的模块信息,生成应用程序的模块预加载表。
终端实时检测应用程序,当检测到当前运行的应用程序时,获取该应用程序的名称信息。在获取到应用程序的名称信息,访问该名称信息对应的数据库。例如,终端在预先对应用程序的名称信息进行设置,在获取到应用程序的名称信息,通过对该应用程序的名称信息进行解析,获取该应用程序的名称信息中的数据库名称或地址,通过该数据库名称或地址访问对应的数据库。终端在访问数据库时,搜索数据库中与应用程序的名称信息关联的记录表,例如,数据库中记录表的名称信息与应用程序的名称信息一致,通过搜索该名称信息,获取对应的记录表。或者,通过预先设置关联码来对记录表和应用程序的名称信息进行关联,终端在获取到应用程序的名称信息时,获取该名称信息对应的关联码,通过关联码搜索该名称信息对应的记录表,对此不做限定。
在获取到待该应用程序对应的记录表时,读取该记录表中的模块信息。记录表中记录有应用程序在运行过程中不同时间区间运行的模块信息,例如,应用程序在开始运行的10秒内运行的模块名称和模块地址,在20秒内运行的模块名称和地址。通过根据获取到的模块信息生成应用程序的模块预加载表。例如,在获取到记录表中的模块信息时,调取预置的模块预加载模板,基于预置的模块预加载模板和模块信息,生成应用程序的模块预加载表。
步骤S404、获取应用程序的运行时长,并根据运行时长和模块预加载表,获取待预加载模块的模块信息。
终端获取当前应用程序的运行时长,根据应用程序的运行时长和模块预加载表,获取待预加载模块的模块信息。具体为,终端获取应用程序开始运行的开始时刻和当前时刻,通过计算应用程序开始时刻和当前时刻,得到应用程序的运行时长。当获取到运行时长时,确定该运行时长所处模块预加载表中的时长区间,例如,模块预加载表中的第一时长区间为0-5秒,第二时长区间为6-10秒,时长区间的价格为5秒。当应用程序的运行时长为10秒时,该运行时长处于第二时长区间,当应用程序的运行时长为1秒时,该运行时长处于第一时长区间。通过第一时长区间,获取模块预加载表中第一时长区间中对应的模块信息,第一时长区间中的模块信息为待加载模块信息。
步骤S405、根据待预加载模块的模块信息预加载待预加载模块。
终端在获取到待预加载模块的模块信息,基于该待预加载模块的模块信息预加载对应的待预加载模块。例如,终端在获取到待预加载模块的名称和地址,调取预置的加载程序。基于该加载程序、待预加载模块的名称和地址,对待预加载模块进行预加载,其中待预加载模块至少为一个,具体数量不做限定。
步骤S406、获取应用程序的第二运行时长,基于第二运行时长确定待预加载模块表中所述第二运行时长对应的第二时长区间,并获取第二时长区间对应的至少一个目标待预加载模块的模块信息。
终端获取当前应用程序的第二运行时长,在获取到当前应用程序的第二运行时长时基于该第二运行时长确定待预加载模块中该第二运行时长对应的第二时长区间。例如,当终端获取到当前应用程序的运行时长为6秒时,预置时长为5秒时,运行时长6秒大于预置时长5秒且小于10秒,因此确定当前应用程序的运行时长为模块预加载表中的第二时长区间,并获取第二时长区间对应的目标待预加载模块的模块信息,其中第二时长区间对应的目标待预加载模块的数量至少为一个,对此不对目标待预加载模块的数量做限定。
步骤S407、若确定待预加载模块不包含目标预加载模块时,则对待预加载模块对应的线程进行销毁,并基于目标待预加载模块的模块信息预加载对应的目标待预加载模块。
终端检测到待预加载模块的名称和目标待预加载模块的名称没有出现重复时,确定待预加载模块不包含目标待预加载模块,则对待预加载模块对应的线程进行销毁,释放该线程占用的资源、内存等。基于获取到目标待预加载模块的模块信息对目标待预加载模块进行预加载。
当终端获取到目标待预加载模块的模块信息时,其中目标待预加载模块的模块信息包括目标待预加载模块的名称和地址,判断待预加载模块是否包含目标待预加载模块,当确定待预加载模块包含目标待预加载模块。例如,终端获取到待预加载模块的名称和目标待预加载模块的名称,当检测待预加载模块的名称和目标待预加载模块的名称出现重复时,确定待预加载模块包含目标待预加载模块。检测待预加载模块的名称和目标待预加载模块的名称没有出现重复时,确定待预加载模块不包含目标待预加载模块,终端对名称出现重复的目标待预加载模块进行标记,并不对目标预加载模块进行预加载。
在本实施例中,通过记录应用程序的运行时长对应的运行模块信息,根据该运行时长和该运行模块信息生成对应的记录表,通过记录表生成对应的模块预加载表。基于应用程序的当前运行时长确定需预加载模块,并对该预加载模块进行预加载,根据操作应用程序的记录生成记录表和加载表,从而确定每一个时长区间内的待加载模块,提高了预加载命中率,其动态预加载常用模块减少了用户进入新模块的等待时间,对不需要的模块及时销毁,节约了设备的电量。
请参照图6,图6为本申请实施例提供的一种模块预加载装置的示意性框图。
如图6所示,该模块预加载装置500,包括:第一生成模块501、第一获取模块502、预加载模块503。
第一生成模块501,用于获取当前运行应用程序对应的记录表,并根据记录表中的模块信息,生成应用程序的模块预加载表;
第一获取模块502,用于获取应用程序的运行时长,并根据运行时长和模块预加载表,获取待预加载模块的模块信息;
预加载模块503,用于根据待预加载模块的模块信息预加载待预加载模块。
其中,第一生成模块501具体还用于:
获取到当前运行应用程序对应的记录表,并统计记录表中各个时长区间对应的模块数量;
当记录表中第一时长区间对应的模块数量大于或等于预置数量时,获取第一时长区间对应的各个模块的第一运行次数;
从记录表中获取所述第一运行次数大于或等于第一预置次数的模块对应的第一模块信息;
基于第一模块信息以及第一时长区间生成模块预加载表,其中,记录表和模块预加载表包括多个时长区间。
其中,第一生成模块501具体还用于:
当记录表中第一时长区间对应的模块数量小于预置数量时,获取第一时长区间对应的第一模块信息;
获取记录表中第二时长区间对应的各个模块的第二运行次数,并从记录表中获取第二运行次数大于或等于第二预置次数的模块对应的第二模块信息;
基于第一模块信息、第一时长区间、以及第二模块信息生成模块预加载表,其中,所记录表和模块加载表包括多个时长区间。
其中,第一获取模块502具体还用于:
获取应用程序的第一运行时长,确定模块预加载表中第一运行时长对应的第一时长区间;
获取第一时长区间对应的至少一个待预加载模块的模块信息,其中,待预加载模块的模块信息包括名称和地址。
其中,预加载模块503,具体还用于:
当获取到待预加载模块的名称,生成名称对应的线程;
基于线程和待预加载模块的地址,预加载待预加载模块的名称和地址对应的待预加载模块。
请参照图7,图7为本申请实施例提供的另一种模块预加载装置的示意性框图。
如图7所示,该模块预加载装置600,包括:记录模块601、第二生成模块602、第一生成模块603、第一获取模块604、预加载模块605、第二获取模块606、销毁及预加载模块607。
记录模块601、用于记录应用程序的运行时长,以及运行时长对应的运行模块信息;
第二生成模块602、基于预置时长,将运行时长分为多个时长区间,获取各个时长区间对应的运行模块信息,并基于各个时长区间和运行模块信息生成记录表;
第一生成模块603、获取当前运行应用程序对应的记录表,并根据记录表中的模块信息,生成应用程序的模块预加载表;
第一获取模块604、获取应用程序的运行时长,并根据运行时长和模块预加载表,获取待预加载模块的模块信息;
预加载模块605、根据待预加载模块的模块信息预加载待预加载模块;
第二获取模块606、获取应用程序的第二运行时长,基于第二运行时长确定待预加载模块表中第二运行时长对应的第二时长区间,并获取第二时长区间对应的至少一个目标待预加载模块的模块信息;
销毁及预加载模块607、若确定待预加载模块不包含目标预加载模块时,则对待预加载模块对应的线程进行销毁,并基于目标待预加载模块的模块信息预加载对应的目标待预加载模块。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述复合语音识别方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为终端。
如图8所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种模块预加载方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种模块预加载方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体地计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取当前运行应用程序对应的记录表,并根据记录表中的模块信息,生成应用程序的模块预加载表;
获取应用程序的运行时长,并根据运行时长和模块预加载表,获取待预加载模块的模块信息;
根据待预加载模块的模块信息预加载所述待预加载模块。
在一个实施例中,所述处理器在实现获取当前运行应用程序对应的记录表,并根据记录表中的模块信息,生成应用程序的模块预加载表时,用于实现:
获取到当前运行应用程序对应的记录表,并统计记录表中各个时长区间对应的模块数量;
当记录表中第一时长区间对应的模块数量大于或等于预置数量时,获取第一时长区间对应的各个模块的第一运行次数;
从记录表中获取所述第一运行次数大于或等于第一预置次数的模块对应的第一模块信息;
基于第一模块信息以及第一时长区间生成模块预加载表,其中,记录表和所述模块预加载表包括多个时长区间。
在一个实施例中,所述处理器在实现统计记录表中各个时长区间对应的模块数量之后时,用于实现:
当记录表中第一时长区间对应的模块数量小于预置数量时,获取第一时长区间对应的第一模块信息;
获取记录表中第二时长区间对应的各个模块的第二运行次数,并从记录表中获取第二运行次数大于或等于第二预置次数的模块对应的第二模块信息;
基于第一模块信息、第一时长区间、以及第二模块信息生成模块预加载表,其中,记录表和所述模块加载表包括多个时长区间。
在一个实施例中,所述处理器在实现获取应用程序的运行时长,并根据运行时长和模块预加载表,获取待预加载模块的模块信息时,用于实现:
获取应用程序的第一运行时长,确定模块预加载表中第一运行时长对应的第一时长区间;
获取第一时长区间对应的至少一个待预加载模块的模块信息,其中,待预加载模块的模块信息包括名称和地址。
在一个实施例中,所述处理器在实现根据待预加载模块的模块信息预加载待预加载模块时,用于实现:
当获取到待预加载模块的名称,生成名称对应的线程;
基于线程和待预加载模块的地址,预加载待预加载模块的名称和地址对应的待预加载模块。
在一个实施例中,所述处理器在实现根据待预加载模块的模块信息预加载待预加载模块之后时,用于实现:
获取应用程序的第二运行时长,基于第二运行时长确定待预加载模块表中第二运行时长对应的第二时长区间,并获取第二时长区间对应的至少一个目标待预加载模块的模块信息;
若确定待预加载模块不包含目标预加载模块时,则对待预加载模块对应的所述线程进行销毁,并基于目标待预加载模块的模块信息预加载对应的目标待预加载模块。
在一个实施例中,所述处理器在实现获取当前运行应用程序对应的记录表之前时,用于实现:
记录应用程序的运行时长,以及运行时长对应的运行模块信息;
基于预置时长,将运行时长分为多个时长区间,获取各个时长区间对应的运行模块信息,并基于各个时长区间和运行模块信息生成记录表。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请模块预加载方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种模块预加载方法,其特征在于,包括:
获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表;
获取所述应用程序的运行时长,并根据所述运行时长和所述模块预加载表,获取待预加载模块的模块信息;
根据所述待预加载模块的模块信息预加载所述待预加载模块;
所述获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表,其中,所述记录表包括时长区间,包括:
获取到当前运行应用程序对应的记录表,并统计所述记录表中各个时长区间对应的模块数量;
当所述记录表中第一时长区间对应的模块数量大于或等于预置数量时,获取所述第一时长区间对应的各个模块的第一运行次数;
从所述记录表中获取所述第一运行次数大于或等于第一预置次数的模块对应的第一模块信息;
基于所述第一模块信息以及所述第一时长区间生成模块预加载表,其中,所述记录表和所述模块预加载表包括多个时长区间。
2.如权利要求1所述的模块预加载方法,其特征在于,所述统计所述记录表中各个时长区间对应的模块数量之后,还包括:
当所述记录表中第一时长区间对应的模块数量小于预置数量时,获取所述第一时长区间对应的第一模块信息;
获取所述记录表中第二时长区间对应的各个模块的第二运行次数,并从所述记录表中获取所述第二运行次数大于或等于第二预置次数的模块对应的第二模块信息;
基于所述第一模块信息、第一时长区间、以及第二模块信息生成模块预加载表,其中,所述记录表和所述模块预加载表包括多个时长区间。
3.如权利要求2所述的模块预加载方法,其特征在于,所述获取所述应用程序的运行时长,并根据所述运行时长和所述模块预加载表,获取待预加载模块的模块信息,包括:
获取所述应用程序的第一运行时长,确定所述模块预加载表中所述第一运行时长对应的第一时长区间;
获取所述第一时长区间对应的至少一个待预加载模块的模块信息,其中,所述待预加载模块的模块信息包括名称和地址。
4.如权利要求3所述的模块预加载方法,其特征在于,所述根据所述待预加载模块的模块信息预加载所述待预加载模块包括:
当获取到所述待预加载模块的名称,生成所述名称对应的线程;
基于所述线程和所述待预加载模块的地址,预加载所述待预加载模块的名称和地址对应的所述待预加载模块。
5.如权利要求1-4任一项所述的模块预加载方法,其特征在于,所述根据所述待预加载模块的模块信息预加载所述待预加载模块之后,还包括:
获取所述应用程序的第二运行时长,基于所述第二运行时长确定所述待预加载模块表中所述第二运行时长对应的第二时长区间,并获取所述第二时长区间对应的至少一个目标待预加载模块的模块信息;
若确定所述待预加载模块不包含所述目标待预加载模块时,则对所述待预加载模块对应的线程进行销毁,并基于所述目标待预加载模块的模块信息预加载对应的所述目标待预加载模块。
6.如权利要求1所述的模块预加载方法,其特征在于,所述获取当前运行应用程序对应的记录表之前,还包括:
记录所述应用程序的运行时长,以及所述运行时长对应的运行模块信息;
基于预置时长,将所述运行时长分为多个时长区间,获取各个时长区间对应的所述运行模块信息,并基于各个所述时长区间和所述运行模块信息生成记录表。
7.一种模块预加载装置,其特征在于,所述模块预加载装置包括:
第一生成模块,用于获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表;
第一获取模块,用于获取所述应用程序的运行时长,并根据所述运行时长和所述模块预加载表,获取待预加载模块的模块信息;
预加载模块,用于根据所述待预加载模块的模块信息预加载所述待预加载模块;
所述获取当前运行应用程序对应的记录表,并根据所述记录表中的模块信息,生成所述应用程序的模块预加载表,其中,所述记录表包括时长区间,包括:
获取到当前运行应用程序对应的记录表,并统计所述记录表中各个时长区间对应的模块数量;
当所述记录表中第一时长区间对应的模块数量大于或等于预置数量时,获取所述第一时长区间对应的各个模块的第一运行次数;
从所述记录表中获取所述第一运行次数大于或等于第一预置次数的模块对应的第一模块信息;
基于所述第一模块信息以及所述第一时长区间生成模块预加载表,其中,所述记录表和所述模块预加载表包括多个时长区间。
8.一种计算机设备,其特征在于,所述计算机设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述模块预加载方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述模块预加载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010051954.0A CN111258676B (zh) | 2020-01-16 | 2020-01-16 | 模块预加载方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010051954.0A CN111258676B (zh) | 2020-01-16 | 2020-01-16 | 模块预加载方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258676A CN111258676A (zh) | 2020-06-09 |
CN111258676B true CN111258676B (zh) | 2023-07-25 |
Family
ID=70952199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010051954.0A Active CN111258676B (zh) | 2020-01-16 | 2020-01-16 | 模块预加载方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258676B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385257A (zh) * | 2021-12-02 | 2022-04-22 | 广州歌神信息科技有限公司 | 程序预热方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226667B1 (en) * | 1998-05-26 | 2001-05-01 | International Business Machines Corporation | Method and apparatus for preloading data in a distributed data processing system |
CN102541602A (zh) * | 2011-12-28 | 2012-07-04 | 用友软件股份有限公司 | 界面的预加载装置和预加载方法 |
CN104239102A (zh) * | 2014-09-15 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 应用程序运行方法和装置 |
CN109144614A (zh) * | 2018-09-27 | 2019-01-04 | 北京安云世纪科技有限公司 | 快捷显示页面应用加载方法、装置、计算机设备及存储介质 |
CN109343862A (zh) * | 2018-08-31 | 2019-02-15 | 北京三快在线科技有限公司 | 应用的资源数据的调度方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246539B (zh) * | 2013-05-21 | 2016-04-06 | 北京大学 | 基于用户使用习惯的gis系统模块加载方法 |
CN103369508B (zh) * | 2013-06-25 | 2016-12-28 | 华为技术有限公司 | 数据加载方法和终端设备 |
CN105955766B (zh) * | 2016-04-22 | 2019-08-30 | 北京小米移动软件有限公司 | 应用预加载方法及装置 |
CN105955765B (zh) * | 2016-04-22 | 2020-03-03 | 北京小米移动软件有限公司 | 应用预加载方法及装置 |
CN108958828B (zh) * | 2018-05-21 | 2022-01-28 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN108762839B (zh) * | 2018-05-22 | 2020-12-18 | 北京小米移动软件有限公司 | 应用程序的界面显示方法及装置 |
CN109740084A (zh) * | 2019-01-10 | 2019-05-10 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于用户行为分析的app接口预加载方法及系统 |
-
2020
- 2020-01-16 CN CN202010051954.0A patent/CN111258676B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226667B1 (en) * | 1998-05-26 | 2001-05-01 | International Business Machines Corporation | Method and apparatus for preloading data in a distributed data processing system |
CN102541602A (zh) * | 2011-12-28 | 2012-07-04 | 用友软件股份有限公司 | 界面的预加载装置和预加载方法 |
CN104239102A (zh) * | 2014-09-15 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 应用程序运行方法和装置 |
CN109343862A (zh) * | 2018-08-31 | 2019-02-15 | 北京三快在线科技有限公司 | 应用的资源数据的调度方法及装置 |
CN109144614A (zh) * | 2018-09-27 | 2019-01-04 | 北京安云世纪科技有限公司 | 快捷显示页面应用加载方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111258676A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019120037A1 (zh) | 模型构建方法、网络资源预加载方法、装置、介质及终端 | |
US20190334872A1 (en) | Advertisement interception method, terminal device and storage medium | |
US8065659B1 (en) | Method and apparatus for executing scripts within a web browser | |
CN110309475B (zh) | 一种页面展现方法、装置、终端设备及存储介质 | |
CN108549568B (zh) | 应用入口处理方法、装置、存储介质及电子设备 | |
CN108572965A (zh) | 一种资源加载方法及装置 | |
CN112652302B (zh) | 语音控制方法、装置、终端及存储介质 | |
CN108769157B (zh) | 消息弹窗的展示方法、装置、计算设备及计算机存储介质 | |
CN104994547A (zh) | 一种网络访问方法和用户终端 | |
CN115454512A (zh) | 一种芯片驱动加载配置方法、装置、设备和存储介质 | |
CN111258676B (zh) | 模块预加载方法、装置、设备及可读存储介质 | |
CN111580876A (zh) | 应用程序的控制方法、系统及终端 | |
CN111399952A (zh) | 一种调整应用界面布局的方法、终端设备及计算机存储介质 | |
CN111597009B (zh) | 应用程序显示的方法、装置及终端设备 | |
CN113157439B (zh) | 一种资源统计方法、装置及终端 | |
CN111414207A (zh) | 一种页面搭建方法、装置和设备 | |
CN111444117B (zh) | 存储空间碎片化实现方法、装置、存储介质及电子设备 | |
CN116560748A (zh) | 页面加载方法、装置、计算设备及存储介质 | |
CN108268298B (zh) | 桌面图标的生成方法、装置、存储介质及电子设备 | |
CN111124627A (zh) | 应用程序的调起者确定方法、装置、终端及存储介质 | |
CN110597585A (zh) | 应用程序页面展示方法、装置、计算机设备及存储介质 | |
CN114860238A (zh) | 页面生成方法、装置及电子设备 | |
CN114647411A (zh) | 编程界面加载方法、装置、电子设备及存储介质 | |
CN113962316A (zh) | 模型训练方法、装置及电子设备 | |
CN113849195A (zh) | 应用程序加载方法、装置、存储介质以及终端 |
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 |