CN107193610A - 一种动态库的加载方法、装置、终端设备及存储介质 - Google Patents

一种动态库的加载方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN107193610A
CN107193610A CN201710398162.9A CN201710398162A CN107193610A CN 107193610 A CN107193610 A CN 107193610A CN 201710398162 A CN201710398162 A CN 201710398162A CN 107193610 A CN107193610 A CN 107193610A
Authority
CN
China
Prior art keywords
dynamic base
preloaded
loading
application program
list
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
Application number
CN201710398162.9A
Other languages
English (en)
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201710398162.9A priority Critical patent/CN107193610A/zh
Publication of CN107193610A publication Critical patent/CN107193610A/zh
Pending legal-status Critical Current

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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

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

Abstract

本发明适用于计算机技术领域,提供了一种动态库的加载方法、装置、终端设备及存储介质。该方法包括:当预置的加载条件被触发时,对预加载列表中的动态库进行预加载,响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数。相较于现有技术,本发明通过预先加载预加载列表中的动态库,当应用程序需要使用该预加载列表中的某个动态库的函数时,无需再等待该动态库的加载,可直接调用预加载后的动态库中的函数,提高了应用程序的运行速度,提高了产品的粘性,提高了用户体验。

Description

一种动态库的加载方法、装置、终端设备及存储介质
技术领域
本发明属于计算机技术领域,尤其涉及一种动态库的加载方法、装置、终端设备及存储介质。
背景技术
随着电子科技的不断发展,手机、平板等终端设备在人们的生活中越来越普及。现有的很多终端设备采用的是Android系统,Android系统中大部分应用程序都是混合型应用程序,这些应用程序不仅要使用java语言,经常还要用到c语言,c语言的代码编译后最终以动态库的形态进行储存,有些动态库储存在系统中,有些动态库储存在应用程序中。相较于java语言,c语言具有运算消耗低,运行速度快的优势,因此得到广泛应用。当应用程序运行后,若需使用某个动态库,需调用并加载该动态库,而动态库的加载需要时间,因此降低了应用程序的运行速度。
发明内容
本发明实施例所要解决的技术问题在于提供一种动态库的加载方法、装置、终端设备及存储介质,旨在解决现有技术中应用程序运行速度较慢的问题。
本发明实施例第一方面提供了一种动态库的加载方法,所述方法包括:
当预置的加载条件被触发时,对预加载列表中的动态库进行预加载;
响应于触发的运行指令,运行所述运行指令指向的应用程序,所述应用程序在运行后调取预加载的动态库中的函数。
本发明实施例第二方面提供了一种动态库的加载装置,所述装置包括:
预加载模块,用于当预置的加载条件被触发时,对预加载列表中的动态库进行预加载;
处理模块,用于响应于触发的运行指令,运行所述运行指令指向的应用程序,所述应用程序在运行后调取预加载的动态库中的函数。
本发明实施例第三方面提供了一种终端设备,所述终端设备包括:
存储器,用于存储可在处理器上运行的计算机程序;以及
处理器,所述处理器耦合到所述存储器,所述处理器被配置为用于通过运行所述计算机程序执行如上述本发明第一方面提供的动态库的加载方法中的各项操作。
本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述本发明第一方面提供的动态库的加载方法中的各个步骤。
从上述本发明实施例可知,本发明通过当预置的加载条件被触发时,对预加载列表中的动态库进行预加载,响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数,相较于现有技术,本发明通过预先加载预加载列表中的动态库,当应用程序需要使用该预加载列表中的某个动态库的函数时,无需再等待该动态库的加载,可直接调用预加载后的动态库中的函数,提高了应用程序的运行速度,提高了产品的粘性,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
附图1示出了一种终端设备的结构框图;
附图2是本发明一实施例提供的动态库的加载方法的实现流程示意图;
附图3是本发明另一实施例提供的动态库的加载方法的实现流程示意图;
附图4是本发明另一实施例提供的动态库的加载装置的结构示意图;
附图5是本发明另一实施例提供的动态库的加载装置的结构示意图。
具体实施方式
为使得本发明实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
附图1示出了一种终端设备的结构框图。该终端设备可以但不限于包括:配置有多个射频电路的智能手机、平板电脑、智能穿戴设备等移动终端,或配置有多个射频电路的台式电脑、智能电视机等非移动终端。如附图1所示,终端设备10包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理单元106、外设接口108、射频单元110、按键单元112、音频单元114以及显示单元116。这些组件通过一条或多条通讯总线/信号线122相互通讯。
可以理解,附图1所示的结构仅为示意,其并不对终端设备10的结构造成限定。例如,终端设备10还可包括比附图1所示更多或者更少的组件,或者具有与附图1所示不同的配置。附图1所示的各组件可以采用硬件、软件或其组合实现。
存储器102可用于存储软件程序以及模块,如本发明实施例中的动态库的加载方法及装置对应的程序指令/模块,处理单元106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用程序以及数据处理,即实现上述的动态库的加载方法。
其中,处理单元106被配置为:
当预置的加载条件被触发时,对预加载列表中的动态库进行预加载;
响应于触发的运行指令,运行所述运行指令指向的应用程序,所述应用程序在运行后调取预加载的动态库中的函数。
可选的,处理单元106还被配置为:
当系统启动时,对所述预加载列表中的动态库进行预加载;或,
当接收到用户触发的快速运行指令时,对所述预加载列表中的动态库进行预加载。
可选的,处理单元106还被配置为:
将系统动态库的标识信息写入所述预加载列表。
可选的,处理单元106还被配置为:
获取第一统计时长内,运行次数达到预置运行次数的应用程序的动态库的标识信息,并写入所述预加载列表。
可选的,处理单元106还被配置为:
获取第二统计时长内,所述应用程序的动态库中加载次数达到预置加载次数的动态库的标识信息,并写入所述预加载列表。
可选的,处理单元106还被配置为:
当所述系统启动时,在ART虚拟机进程Zygote中,打开所述预加载列表中的动态库。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理单元106远程设置的存储器,这些远程存储器可以通过网络连接至终端设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理单元106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108将各种输入/输入装置耦合至处理单元106以及存储器102。处理单元106运行存储器102内的各种软件、指令以执行终端设备10的各种功能以及进行数据处理。
在一些实例中,外设接口108,处理单元106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频单元110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频单元110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频单元110可与各种网络如互联网、企业内部网、预置类型的无线网络进行通讯或者通过预置类型的无线网络与其他设备进行通讯。上述的预置类型的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的预置类型的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for MobileCommunication,GSM),增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(Wideband Code Division Multiple Access,W-CDMA),码分多址技术(Code Division Access,CDMA),时分多址技术(Time Division Multiple Access,TDMA),蓝牙,无线保真技术(Wireless-Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n),网络电话(Voice overInternet Protocol,VoIP),全球微波互联接入(Worldwide Interoperability forMicrowave Access,Wi-Max),其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
按键单元112提供用户向终端设备10进行输入的接口,用户可以通过按下不同的按键以使终端设备10执行不同的功能。
音频单元114向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口108处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口108中以进行进一步的处理。音频数据可以从存储器102处或者通过射频单元110获取。此外,音频数据也可以存储至存储器102中或者通过射频单元110进行发送。在一些实例中,音频单元114还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
显示单元116在终端设备10与用户之间提供一个输出界面。具体地,显示单元116向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。进一步地,还在终端设备10与用户之间提供一个输入界面,用于接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。
请参阅附图2,附图2为本发明一实施例提供的动态库的加载方法的实现流程示意图,该方法可以应用程序于终端设备中。如附图2所示,该方法主要包括以下步骤:
S201、当预置的加载条件被触发时,对预加载列表中的动态库进行预加载;
动态库(Dynamic Link Library,DLL)又称动态链接库,是一个可由应用程序使用的代码和数据的库。
动态库包括系统动态库和应用程序的动态库,系统动态库是存储在系统中的公共动态库,其加载后可供系统中的各应用程序使用;应用程序的动态库是应用程序自身的动态库,其加载后仅供该应用程序使用。
预加载列表是系统预设的一个列表,用于记载终端写入的动态库的标识信息。当预置的加载条件被触发时,终端会对预加载列表中的动态库进行预加载。
S202、响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数。
运行指令可以是用户触发的,也可以是系统触发的。
响应于触发的运行指令,终端运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数以供自身使用。
本发明实施例提供的动态库的加载方法,通过当预置的加载条件被触发时,对预加载列表中的动态库进行预加载,响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数,相较于现有技术,本发明通过预先加载预加载列表中的动态库,当应用程序需要使用该预加载列表中的某个动态库的函数时,无需再等待该动态库的加载,可直接调用预加载后的动态库中的函数,提高了应用程序的运行速度,提高了产品的粘性,提高了用户体验。
请参阅附图3,附图3为本发明另一实施例提供的动态库的加载方法的实现流程示意图,该方法可以应用程序于终端设备中。如附图3所示,该方法主要包括以下步骤:
S301、将系统动态库的标识信息写入预加载列表;
动态库又称动态链接库,是一个可由应用程序使用的代码和数据的库。
动态库包括系统动态库和应用程序的动态库,系统动态库是存储在系统中的公共动态库,其加载后可供系统中的各应用程序使用;应用程序的动态库是应用程序自身的动态库,其加载后仅供该应用程序使用。
预加载列表是系统预设的一个列表,用于记载终端写入的动态库的标识信息。当预置的加载条件被触发时,终端会对预加载列表中的动态库进行预加载。
预加载系统动态库,当应用程序需要调用系统动态库的函数时,无需再耗费时间加载该系统动态库,可直接调用加载后的系统动态库中的函数,提高了应用程序的运行速度。
进一步地,还可以获取第一统计时长内,运行次数达到预置运行次数的应用程序的动态库的标识信息,并写入预加载列表。
例如,设第一统计时长为1小时,预置运行次数为5次,即监测应用程序的运行次数,当某应用程序在1小时内的运行次数达到5次时,将该应用程序确定为高频应用程序,并将高频应用程序中全部动态库的标识信息写入预加载列表。
预加载高频应用程序的动态库,当该高频应用程序需要调用其本身的动态库的函数时,无需再耗费时间进行加载,可直接调用加载后的动态库中的函数,提高了应用程序的运行速度。
进一步地,还可以获取第二统计时长内,应用程序的动态库中加载次数达到预置加载次数的动态库的标识信息,并写入预加载列表。
例如,设第二统计时长为30分钟,预置加载次数为3次,监测应用程序的动态库的加载次数,当某应用程序的动态库在30分钟内的加载次数达到3次时,将该动态库确定为高频动态库,并将高频动态库的标识信息写入预加载列表。
预加载高频动态库,当该高频动态库对应的应用程序需要调用该高频动态库的函数时,无需再耗费时间进行加载,可直接调用加载后的高频动态库中的函数,提高了高频动态库对应的应用程序的运行速度。
S302、当系统启动时,对预加载列表中的动态库进行预加载;
具体的,当系统启动时,在第一个ART虚拟机进程Zygote中,打开预加载列表中的动态库,以进行动态库的预加载。
虚拟机进程Zygote,是虚拟机实例的孵化器。它在系统启动的时候就会产生,它会完成虚拟机的初始化,以及动态库的加载、预制类库和初始化的操作。如果系统需要一个新的虚拟机实例,它会迅速复制自身,以最快的数据提供给系统。对于一些只读的系统动态库,所有虚拟机实例都和Zygote共享一块内存区域。
进一步地,还可以当接收到用户触发的快速运行指令时,对预加载列表中的动态库进行预加载。
终端根据用户的操作触发的快速运行指令,对预加载列表中的动态库进行预加载。
S303、响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数。
运行指令可以是用户触发的,也可以是系统触发的。
响应于触发的运行指令,终端运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数以供自身使用。
本发明实施例提供的动态库的加载方法,通过当预置的加载条件被触发时,对预加载列表中的动态库进行预加载,响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数,相较于现有技术,本发明通过预先加载预加载列表中的动态库,当应用程序需要使用该预加载列表中的某个动态库的函数时,无需再等待该动态库的加载,可直接调用预加载后的动态库中的函数,提高了应用程序的运行速度,提高了产品的粘性,提高了用户体验。
请参阅附图4,附图4是本发明另一实施例提供的动态库的加载装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。附图4示例的动态库的加载装置可以是前述第一实施例提供的动态库的加载方法的执行主体,其可以是终端设备或者终端设备中的一个功能模块。附图4示例的动态库的加载装置,主要包括:预加载模块401及处理模块402。各功能模块详细说明如下:
预加载模块401,用于当预置的加载条件被触发时,对预加载列表中的动态库进行预加载。
动态库又称动态链接库,是一个可由应用程序使用的代码和数据的库。
动态库包括系统动态库和应用程序的动态库,系统动态库是存储在系统中的公共动态库,其加载后可供系统中的各应用程序使用;应用程序的动态库是应用程序自身的动态库,其加载后仅供该应用程序使用。
预加载列表是系统预设的一个列表,用于记载终端写入的动态库的标识信息。当预置的加载条件被触发时,预加载模块401会对预加载列表中的动态库进行预加载。
处理模块402,用于响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数。
运行指令可以是用户触发的,也可以是系统触发的。
响应于触发的运行指令,处理模块402运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数以供自身使用。
本发明实施例提供的动态库的加载装置,通过当预置的加载条件被触发时,对预加载列表中的动态库进行预加载,响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数,相较于现有技术,本发明通过预先加载预加载列表中的动态库,当应用程序需要使用该预加载列表中的某个动态库的函数时,无需再等待该动态库的加载,可直接调用预加载后的动态库中的函数,提高了应用程序的运行速度,提高了产品的粘性,提高了用户体验。
请参阅附图5,附图5是本发明另一实施例提供的动态库的加载装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。附图5示例的动态库的加载装置可以是前述第二实施例提供的动态库的加载方法的执行主体,其可以是终端设备或者终端设备中的一个功能模块。附图5示例的动态库的加载装置,主要包括:写入模块501、第一获取模块502、第二获取模块503、预加载模块504及处理模块505。各功能模块详细说明如下:
写入模块501,用于将系统动态库的标识信息写入预加载列表。
动态库又称动态链接库,是一个可由应用程序使用的代码和数据的库。
动态库包括系统动态库和应用程序的动态库,系统动态库是存储在系统中的公共动态库,其加载后可供系统中的各应用程序使用;应用程序的动态库是应用程序自身的动态库,其加载后仅供该应用程序使用。
预加载列表是系统预设的一个列表,用于记载写入模块501写入的动态库的标识信息。当预置的加载条件被触发时,预加载模块504会对预加载列表中的动态库进行预加载。
预加载系统动态库,当应用程序需要调用系统动态库的函数时,无需再耗费时间加载该系统动态库,可直接调用加载后的系统动态库中的函数,提高了应用程序的运行速度。
第一获取模块502,用于获取第一统计时长内,运行次数达到预置运行次数的应用程序的动态库的标识信息,并写入预加载列表。
例如,设第一统计时长为1小时,预置运行次数为5次,即监测应用程序的运行次数,当某应用程序在1小时内的运行次数达到5次时,将该应用程序确定为高频应用程序,并将高频应用程序中全部动态库的标识信息写入预加载列表。
预加载高频应用程序的动态库,当该高频应用程序需要调用其本身的动态库的函数时,无需再耗费时间进行加载,可直接调用加载后的动态库中的函数,提高了应用程序的运行速度。
第二获取模块503,用于获取第二统计时长内,应用程序的动态库中加载次数达到预置加载次数的动态库的标识信息,并写入预加载列表。
例如,设第二统计时长为30分钟,预置加载次数为3次,监测应用程序的动态库的加载次数,当某应用程序的动态库在30分钟内的加载次数达到3次时,将该动态库确定为高频动态库,并将高频动态库的标识信息写入预加载列表。
预加载高频动态库,当该高频动态库对应的应用程序需要调用该高频动态库的函数时,无需再耗费时间进行加载,可直接调用加载后的高频动态库中的函数,提高了高频动态库对应的应用程序的运行速度。
预加载模块504,用于当系统启动时,对预加载列表中的动态库进行预加载。
具体的,预加载模块504,用于当系统启动时,预加载模块504在第一个ART虚拟机进程Zygote中,打开预加载列表中的动态库,以进行动态库的预加载。
虚拟机进程Zygote,是虚拟机实例的孵化器。它在系统启动的时候就会产生,它会完成虚拟机的初始化,以及动态库的加载、预制类库和初始化的操作。如果系统需要一个新的虚拟机实例,它会迅速复制自身,以最快的数据提供给系统。对于一些只读的系统动态库,所有虚拟机实例都和Zygote共享一块内存区域。
进一步地,预加载模块504,还用于当接收到用户触发的快速运行指令时,对预加载列表中的动态库进行预加载。
预加载模块504根据用户的操作触发的快速运行指令,对预加载列表中的动态库进行预加载。
处理模块505,用于响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数。
运行指令可以是用户触发的,也可以是系统触发的。
响应于触发的运行指令,处理模块505运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数以供自身使用。
本发明实施例提供的动态库的加载装置,通过当预置的加载条件被触发时,对预加载列表中的动态库进行预加载,响应于触发的运行指令,运行该运行指令指向的应用程序,应用程序在运行后调取预加载的动态库中的函数,相较于现有技术,本发明通过预先加载预加载列表中的动态库,当应用程序需要使用该预加载列表中的某个动态库的函数时,无需再等待该动态库的加载,可直接调用预加载后的动态库中的函数,提高了应用程序的运行速度,提高了产品的粘性,提高了用户体验。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的动态库的加载方法、装置、终端设备及存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用程序范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种动态库的加载方法,其特征在于,所述方法包括:
当预置的加载条件被触发时,对预加载列表中的动态库进行预加载;
响应于触发的运行指令,运行所述运行指令指向的应用程序,所述应用程序在运行后调取预加载的动态库中的函数。
2.如权利要求1所述的动态库的加载方法,其特征在于,所述当预置的加载条件被触发时,对预加载列表中的动态库进行预加载,包括:
当系统启动时,对所述预加载列表中的动态库进行预加载;或,
当接收到用户触发的快速运行指令时,对所述预加载列表中的动态库进行预加载。
3.如权利要求1所述的动态库的加载方法,其特征在于,所述当预置的加载条件被触发时,对预加载列表中的动态库进行预加载之前,包括:
将系统动态库的标识信息写入所述预加载列表。
4.如权利要求1所述的动态库的加载方法,其特征在于,所述方法还包括:
获取第一统计时长内,运行次数达到预置运行次数的应用程序的动态库的标识信息,并写入所述预加载列表。
5.如权利要求1所述的动态库的加载方法,其特征在于,所述方法还包括:
获取第二统计时长内,所述应用程序的动态库中加载次数达到预置加载次数的动态库的标识信息,并写入所述预加载列表。
6.如权利要求2所述的动态库的加载方法,其特征在于,所述当系统启动时,对所述预加载列表中的动态库进行预加载包括:
当所述系统启动时,在ART虚拟机进程Zygote中,打开所述预加载列表中的动态库。
7.一种动态库的加载装置,其特征在于,所述装置包括:
预加载模块,用于当预置的加载条件被触发时,对预加载列表中的动态库进行预加载;
处理模块,用于响应于触发的运行指令,运行所述运行指令指向的应用程序,所述应用程序在运行后调取预加载的动态库中的函数。
8.如权利要求7所述的动态库的加载装置,其特征在于,
所述预加载模块,具体用于当系统启动时,对所述预加载列表中的动态库进行预加载;或,当接收到用户触发的快速运行指令时,对所述预加载列表中的动态库进行预加载。
9.如权利要求7所述的动态库的加载装置,其特征在于,所述装置还包括:
写入模块,用于将系统动态库的标识信息写入所述预加载列表。
10.如权利要求7所述的动态库的加载装置,其特征在于,所述装置还包括:
第一获取模块,用于获取第一统计时长内,运行次数达到预置运行次数的应用程序的动态库的标识信息,并写入所述预加载列表。
11.如权利要求7所述的动态库的加载装置,其特征在于,所述装置还包括:
第二获取模块,用于获取第二统计时长内,所述应用程序的动态库中加载次数达到预置加载次数的动态库的标识信息,并写入所述预加载列表。
12.如权利要求8所述的动态库的加载装置,其特征在于,
所述预加载模块,具体用于当所述系统启动时,在ART虚拟机进程Zygote中,打开所述预加载列表中的动态库。
13.一种终端设备,其特征在于,所述终端设备包括:
存储器,用于存储可在处理器上运行的计算机程序;以及
处理器,所述处理器耦合到所述存储器,所述处理器被配置为用于通过运行所述计算机程序执行如权利要求1至6任一项所述的动态库的加载方法中的各项操作。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至6中的动态库的加载方法中的各个步骤。
CN201710398162.9A 2017-05-31 2017-05-31 一种动态库的加载方法、装置、终端设备及存储介质 Pending CN107193610A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710398162.9A CN107193610A (zh) 2017-05-31 2017-05-31 一种动态库的加载方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710398162.9A CN107193610A (zh) 2017-05-31 2017-05-31 一种动态库的加载方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN107193610A true CN107193610A (zh) 2017-09-22

Family

ID=59877521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710398162.9A Pending CN107193610A (zh) 2017-05-31 2017-05-31 一种动态库的加载方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN107193610A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549585A (zh) * 2018-04-16 2018-09-18 深圳市腾讯网络信息技术有限公司 修改应用数据的方法、应用测试方法和装置
CN108681473A (zh) * 2018-05-18 2018-10-19 广州酷狗计算机科技有限公司 应用程序生成、运行方法、装置、计算机设备和存储介质
WO2019114506A1 (zh) * 2017-12-14 2019-06-20 Oppo广东移动通信有限公司 编译优化方法、装置、存储介质、智能终端及服务器
WO2019119985A1 (en) * 2017-12-20 2019-06-27 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for preloading application, storage medium, and terminal device
CN111381978A (zh) * 2018-12-29 2020-07-07 深圳Tcl数字技术有限公司 一种接入应用程序的方法、存储介质以及智能电视
CN112596824A (zh) * 2021-01-04 2021-04-02 天津中新智冠信息技术有限公司 信息交互方法、装置、电子设备以及存储介质
CN113918235A (zh) * 2021-09-17 2022-01-11 北京房江湖科技有限公司 应用加载的方法及装置、计算机程序产品和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123308A1 (en) * 2002-12-20 2004-06-24 Siemens Information And Communication Networks, Inc. Hybird of implicit and explicit linkage of windows dynamic link labraries
CN101339511A (zh) * 2007-07-02 2009-01-07 国际商业机器公司 用于监控和自适应地预载入关键动态连接库的方法和系统
CN103677922A (zh) * 2013-12-13 2014-03-26 北京奇虎科技有限公司 对应用软件进行启动的方法和装置
CN104102506A (zh) * 2014-04-25 2014-10-15 华南理工大学 一种基于ARM平台的Android启动加速方法
CN106095499A (zh) * 2016-06-07 2016-11-09 青岛海信电器股份有限公司 嵌入式系统启动优化方法及装置
CN106502737A (zh) * 2016-10-20 2017-03-15 广州酷狗计算机科技有限公司 一种提高应用程序启动速度的方法和终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123308A1 (en) * 2002-12-20 2004-06-24 Siemens Information And Communication Networks, Inc. Hybird of implicit and explicit linkage of windows dynamic link labraries
CN101339511A (zh) * 2007-07-02 2009-01-07 国际商业机器公司 用于监控和自适应地预载入关键动态连接库的方法和系统
CN103677922A (zh) * 2013-12-13 2014-03-26 北京奇虎科技有限公司 对应用软件进行启动的方法和装置
CN104102506A (zh) * 2014-04-25 2014-10-15 华南理工大学 一种基于ARM平台的Android启动加速方法
CN106095499A (zh) * 2016-06-07 2016-11-09 青岛海信电器股份有限公司 嵌入式系统启动优化方法及装置
CN106502737A (zh) * 2016-10-20 2017-03-15 广州酷狗计算机科技有限公司 一种提高应用程序启动速度的方法和终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈德林 等著: "《NGB TVOS v1.0架构分析》", 30 November 2015, 北京:中国广播影视出版社 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019114506A1 (zh) * 2017-12-14 2019-06-20 Oppo广东移动通信有限公司 编译优化方法、装置、存储介质、智能终端及服务器
WO2019119985A1 (en) * 2017-12-20 2019-06-27 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for preloading application, storage medium, and terminal device
CN108549585A (zh) * 2018-04-16 2018-09-18 深圳市腾讯网络信息技术有限公司 修改应用数据的方法、应用测试方法和装置
CN108549585B (zh) * 2018-04-16 2023-03-10 深圳市腾讯网络信息技术有限公司 修改应用数据的方法、应用测试方法和装置
CN108681473A (zh) * 2018-05-18 2018-10-19 广州酷狗计算机科技有限公司 应用程序生成、运行方法、装置、计算机设备和存储介质
CN111381978A (zh) * 2018-12-29 2020-07-07 深圳Tcl数字技术有限公司 一种接入应用程序的方法、存储介质以及智能电视
CN111381978B (zh) * 2018-12-29 2024-03-12 深圳Tcl数字技术有限公司 一种接入应用程序的方法、存储介质以及智能电视
CN112596824A (zh) * 2021-01-04 2021-04-02 天津中新智冠信息技术有限公司 信息交互方法、装置、电子设备以及存储介质
CN113918235A (zh) * 2021-09-17 2022-01-11 北京房江湖科技有限公司 应用加载的方法及装置、计算机程序产品和存储介质
CN113918235B (zh) * 2021-09-17 2023-11-17 贝壳找房(北京)科技有限公司 应用加载的方法及装置、存储介质

Similar Documents

Publication Publication Date Title
CN107193610A (zh) 一种动态库的加载方法、装置、终端设备及存储介质
CN105354093A (zh) 内存管理方法及移动终端
CN105354039B (zh) 应用程序管理方法及装置
CN106445314B (zh) 显示界面刷新方法及装置
CN104333643B (zh) 添加联系人的方法、系统及终端
CN107466033B (zh) Ims的注册方法、装置、移动终端及存储介质
CN106598676A (zh) 一种应用程序管理方法、装置及终端设备
CN106488039B (zh) 音量调节方法及系统、移动终端及播放设备
CN107948055A (zh) 屏蔽群成员所发消息的方法、装置和计算机可读存储介质
CN106254791A (zh) 摄像头的启动方法及移动终端
CN105744609B (zh) 改善移动终端功耗的方法及装置
CN107809437A (zh) 一种融合通信登录方法、装置和计算机可读存储介质
CN105653195B (zh) 截屏方法及移动终端
CN106294707A (zh) 一种倒计时提示信息输出方法及装置
CN106331258A (zh) 一种通话方法、装置及系统
CN105843361A (zh) 拍照时降低功耗的方法及移动终端
CN106788561B (zh) 射频电路控制方法、装置以及终端设备
CN105824509A (zh) 图标整理方法及装置
CN106713171A (zh) 服务器、基于延时队列的限流保护系统及方法
CN105704106A (zh) 一种可视化ivr实现方法及移动终端
CN108307485B (zh) 无线网络扫描方法、装置、终端设备及存储介质
CN105933492A (zh) 电话号码获取方法及装置
CN108154886A (zh) 噪声抑制方法及装置、电子装置及计算机可读存储介质
CN104575548A (zh) 文件播放定位方法、装置及终端
CN108363628A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170922

RJ01 Rejection of invention patent application after publication