CN107423092A - 应用启动方法、装置、终端设备及存储介质 - Google Patents

应用启动方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN107423092A
CN107423092A CN201710597250.1A CN201710597250A CN107423092A CN 107423092 A CN107423092 A CN 107423092A CN 201710597250 A CN201710597250 A CN 201710597250A CN 107423092 A CN107423092 A CN 107423092A
Authority
CN
China
Prior art keywords
application program
data
internal memory
needed
memory
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.)
Withdrawn
Application number
CN201710597250.1A
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.)
Meizu Technology Co Ltd
Original Assignee
Meizu Technology 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 Meizu Technology Co Ltd filed Critical Meizu Technology Co Ltd
Priority to CN201710597250.1A priority Critical patent/CN107423092A/zh
Publication of CN107423092A publication Critical patent/CN107423092A/zh
Withdrawn 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/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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

应用启动方法、装置、终端设备及存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种应用启动方法、装置、终端及存储介质。
背景技术
在终端设备的基础体验中,流畅度是很重要的一个指标,所谓流畅,某个意义上说就是指“快”,打开应用程序要快、滑动体验要快等等,其中应用程序的启动速度直接影响用户的体验。现有的应用程序在每次启动时,需要查找和加载一些数据到内存中,而且每次启动时,查找和加载的数据都是重复的动作。这样查找和加载数据就会耗去启动时间,造成应用程序的启动较慢。
发明内容
鉴于此,有必要提供一种应用启动方法、装置、终端及存储介质,无需在内存中生成启动时需要生成的数据,节省了应用程序的启动时间,提高了用户的体验。
一种应用启动方法,所述方法包括:
获取应用程序启动时在内存中需要生成的数据;
将所述数据存储至存储设备中;
在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。
根据本发明优选实施例,所述获取应用程序启动时在内存中需要生成的数据包括:
从内存中获取启动过程中生成的至少部分数据,并将获取的数据作为所述数据。
根据本发明优选实施例,所述方法还包括:
判断所述应用程序是否被重新安装或者所述应用程序是否被升级;
若所述应用程序被重新安装或者所述应用程序被升级时,则重新获取所述应用程序启动时在内存中需要生成的数据。
根据本发明优选实施例,所述判断所述应用程序是否被重新安装或者所述应用程序是否被升级包括:
若系统调用了应用安装函数,并通过所述应用安装函数读取所述应用程序的应用安装包文件名,则判断所述应用程序被重新安装或者所述应用程序是否被升级。
根据本发明优选实施例,所述数据包括以下一种或者多种组合:所述应用程序启动时需要的数据结构文件、所述应用程序启动时需要的图片文件。
根据本发明优选实施例,所述数据结构文件是根据所述应用程序需要的类及/或方法而生成的。
根据本发明优选实施例,所述存储设备包括以下任一种或者多种:外部存储器、终端设备的存储器。
一种应用启动装置,所述装置包括:
获取模块,用于获取应用程序启动时在内存中需要生成的数据;
存储模块,用于将所述数据存储至存储设备中;
加载模块,用于在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。
一种终端设备,所述终端设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现任意实施例中所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机指令,其特征在于:所述计算机指令被处理器执行时实现任意实施例中所述方法的步骤。
本发明能获取应用程序启动时在内存中需要生成的数据;将所述数据存储至存储设备中;在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。本发明无需在内存中生成启动时需要生成的数据,节省了应用程序的启动时间,提高了用户的体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用启动方法的流程图;
图2是本发明提供的应用启动装置的结构图;
图3本发明实现应用启动方法的较佳实施例的终端设备的结构示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例
图1是本发明实施例提供的一种应用启动方法的流程图。所述应用启动方法应用于终端设备中,所述终端设备可以为手机、平板、台式电脑等可以运行应用软件的终端。如图1所示,应用启动方法可包括以下步骤:
S10,获取应用程序启动时在内存中需要生成的数据。
在本发明的至少一个实施例中,所述数据包括,但不限于以下一种或者多种组合:所述应用程序启动时需要的数据结构文件、所述应用程序启动时需要的图片文件。所述数据结构文件是根据所述应用程序需要的类及/或方法而生成的。
例如,在Android系统中,一个应用程序要启动时,需要把apk文件翻译成带有机器码的oat文件,并根据oat文件中的类及/或方法(例如oatmethod、oatclass)生成所述应用程序启动时所需的数据。另外,一个应用程序要启动时,还需要加载所述应用程序启动时需要的图片文件(例如位图文件等等)。
在本发明的至少一个实施例中,所述获取应用程序启动时在内存中需要生成的数据包括:
从内存中获取启动过程中生成的至少部分数据,并将获取的数据作为所述数据。
优选地,在所述应用程序的第一次启动过程中,从内存中获取启动过程中(例如,从开启启动对应的时间点到启动结束对应的时间点)生成的至少部分数据,并将获取的数据作为所述数据。
S11,将所述数据存储至存储设备中。
在本发明的至少一个实施例中,所述存储设备包括以下任一种或者多种:外部存储器、终端设备的存储器。
在本发明的至少一个实施例中,可以所述数据可以分成两个部分进行存储,第一部分存储于所述外部存储器中,第二部分存储于所述终端设备的存储器中。或者将第一部分存储于所述终端设备的存储器中,第二部分存储于所述外部存储器中。
例如,在Android系统中,将根据oat文件中的类及/或方法(例如oatmethod、oatclass)生成所述应用程序启动时所需的数据存储于所述存储设备中。另外,还将启动时需要的图片文件(例如位图文件等等)存储于存储设备中。
S12,在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。
在本发明的至少一个实施例中,所述方法还包括:
判断所述应用程序是否被重新安装或者所述应用程序是否被升级;
若所述应用程序被重新安装或者所述应用程序被升级时,则重新获取所述应用程序启动时在内存中需要生成的数据。
优选地,所述判断所述应用程序是否被重新安装或者所述应用程序是否被升级包括:
若系统调用了应用安装函数,并通过所述应用安装函数读取所述应用程序的应用安装包文件名,则判断所述应用程序被重新安装或者所述应用程序是否被升级。
例如,在Android系统中,若更新或者安装一个应用程序时,会调用到Android的PackageManagerService的函数接口,因此当有应用程序的apk文件调用所述PackageManagerService的函数接口时,则所述应用程序被重新安装或者所述应用程序是否被升级。
本发明能获取应用程序启动时在内存中需要生成的数据;将所述数据存储至存储设备中;在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。本发明无需在内存中生成启动时需要生成的数据,节省了应用程序的启动时间,提高了用户的体验。
图2为本发明实施例提供的应用启动装置的结构图。所述应用启动装置应用于终端设备中,所述终端设备可以为手机、平板、台式电脑等可以运行应用软件的终端。如图2所示,所述应用启动装置可包括获取模块200、存储模块201、加载模块202及判断模块203。
所述获取模块200获取应用程序启动时在内存中需要生成的数据。
在本发明的至少一个实施例中,所述数据包括,但不限于以下一种或者多种组合:所述应用程序启动时需要的数据结构文件、所述应用程序启动时需要的图片文件。所述数据结构文件是根据所述应用程序需要的类及/或方法而生成的。
例如,在Android系统中,一个应用程序要启动时,需要把apk文件翻译成带有机器码的oat文件,并根据oat文件中的类及/或方法(例如oatmethod、oatclass)生成所述应用程序启动时所需的数据。另外,一个应用程序要启动时,还需要加载所述应用程序启动时需要的图片文件(例如位图文件等等)。
在本发明的至少一个实施例中,所述获取模块200获取应用程序启动时在内存中需要生成的数据包括:
从内存中获取启动过程中生成的至少部分数据,并将获取的数据作为所述数据。
优选地,所述获取模块200在所述应用程序的第一次启动过程中,从内存中获取启动过程中(例如,从开启启动对应的时间点到启动结束对应的时间点)生成的至少部分数据,并将获取的数据作为所述数据。
所述存储模块201将所述数据存储至存储设备中。
在本发明的至少一个实施例中,所述存储设备包括以下任一种或者多种:外部存储器、终端设备的存储器。
在本发明的至少一个实施例中,所述存储模块201可以所述数据可以分成两个部分进行存储,第一部分存储于所述外部存储器中,第二部分存储于所述终端设备的存储器中。或者将第一部分存储于所述终端设备的存储器中,第二部分存储于所述外部存储器中。
例如,在Android系统中,将根据oat文件中的类及/或方法(例如oatmethod、oatclass)生成所述应用程序启动时所需的数据存储于所述存储设备中。另外,还将启动时需要的图片文件(例如位图文件等等)存储于存储设备中。
所述加载模块202在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。
在本发明的至少一个实施例中,所述装置还包括:
判断模块203,判断所述应用程序是否被重新安装或者所述应用程序是否被升级;
若所述应用程序被重新安装或者所述应用程序被升级时,则所述获取模块200重新获取所述应用程序启动时在内存中需要生成的数据。
优选地,所述判断模块203判断所述应用程序是否被重新安装或者所述应用程序是否被升级包括:
若系统调用了应用安装函数,并通过所述应用安装函数读取所述应用程序的应用安装包文件名,则判断所述应用程序被重新安装或者所述应用程序是否被升级。
例如,在Android系统中,若更新或者安装一个应用程序时,会调用到Android的PackageManagerService的函数接口,因此当有应用程序的apk文件调用所述PackageManagerService的函数接口时,则所述应用程序被重新安装或者所述应用程序是否被升级。
本发明能获取应用程序启动时在内存中需要生成的数据;将所述数据存储至存储设备中;在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。本发明无需在内存中生成启动时需要生成的数据,节省了应用程序的启动时间,提高了用户的体验。
请参照图3,图3是本发明实现应用启动方法的较佳实施例的终端设备的结构示意图。
所述终端设备30是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述终端设备30可以是,但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、智能式穿戴式设备等。
所述终端设备30所处的网络包括,但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
所述终端设备30包括至少一个发送装置31、至少一个存储设备32、至少一个处理设备33、至少一个接收装置34、至少一个显示设备35以及至少一个通信总线。其中,所述通信总线用于实现这些组件之间的连接通信。
其中,所述接收装置34和所述发送装置31可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他设备进行数据通信。
所述处理设备33可以包括一个或者多个微处理器、数字处理器。
所述存储设备32用于存储应用图标的显示装置中各个程序段的程序代码。所述存储设备32可以为智能媒体卡(smart media card)、安全数字卡(secure digital card)、快闪存储器卡(flash card)等储存设备。
优选地,本发明的应用启动方法通过所述终端设备30中存储的应用启动装置来实现。
所述应用启动装置能获取应用程序启动时在内存中需要生成的数据;将所述数据存储至存储设备中;在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。本发明无需在内存中生成启动时需要生成的数据,节省了应用程序的启动时间,提高了用户的体验。
所述显示设备35可以是触摸屏等其他用于显示画面的设备。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个装置也可以由同一个装置或系统通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种应用启动方法,其特征在于,所述方法包括:
获取应用程序启动时在内存中需要生成的数据;
将所述数据存储至存储设备中;
在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。
2.如权利要求1所述的方法,其特征在于,所述获取应用程序启动时在内存中需要生成的数据包括:
从内存中获取启动过程中生成的至少部分数据,并将获取的数据作为所述数据。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述应用程序是否被重新安装或者所述应用程序是否被升级;
若所述应用程序被重新安装或者所述应用程序被升级时,则重新获取所述应用程序启动时在内存中需要生成的数据。
4.如权利要求1所述的方法,其特征在于,所述判断所述应用程序是否被重新安装或者所述应用程序是否被升级包括:
若系统调用了应用安装函数,并通过所述应用安装函数读取所述应用程序的应用安装包文件名,则判断所述应用程序被重新安装或者所述应用程序是否被升级。
5.如权利要求1所述的方法,其特征在于,所述数据包括以下一种或者多种组合:所述应用程序启动时需要的数据结构文件、所述应用程序启动时需要的图片文件。
6.如权利要求5所述的方法,其特征在于,所述数据结构文件是根据所述应用程序需要的类及/或方法而生成的。
7.如权利要求1所述的方法,其特征在于,所述存储设备包括以下任一种或者多种:外部存储器、终端设备的存储器。
8.一种应用启动装置,其特征在于,所述装置包括:
获取模块,用于获取应用程序启动时在内存中需要生成的数据;
存储模块,用于将所述数据存储至存储设备中;
加载模块,用于在接收到所述应用程序的启动信号时,从所述存储设备中获取所述数据,并将所述数据加载到内存中以启动所述应用程序。
9.一种终端设备,其特征在于,所述终端设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于:所述计算机指令被处理器执行时实现如权利要求1至7中任意一项所述方法的步骤。
CN201710597250.1A 2017-07-20 2017-07-20 应用启动方法、装置、终端设备及存储介质 Withdrawn CN107423092A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710597250.1A CN107423092A (zh) 2017-07-20 2017-07-20 应用启动方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710597250.1A CN107423092A (zh) 2017-07-20 2017-07-20 应用启动方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN107423092A true CN107423092A (zh) 2017-12-01

Family

ID=60430783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710597250.1A Withdrawn CN107423092A (zh) 2017-07-20 2017-07-20 应用启动方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN107423092A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518931A (zh) * 2022-04-20 2022-05-20 北京远特科技股份有限公司 跨应用程序的高清图片复用方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309740A (zh) * 2013-06-05 2013-09-18 腾讯科技(深圳)有限公司 程序启动方法、装置和设备
CN103677922A (zh) * 2013-12-13 2014-03-26 北京奇虎科技有限公司 对应用软件进行启动的方法和装置
CN104572224A (zh) * 2015-02-04 2015-04-29 南车株洲电力机车研究所有限公司 一种out文件加载方法、装置及系统
CN106066686A (zh) * 2016-05-31 2016-11-02 广东欧珀移动通信有限公司 一种信息处理方法及终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309740A (zh) * 2013-06-05 2013-09-18 腾讯科技(深圳)有限公司 程序启动方法、装置和设备
CN103677922A (zh) * 2013-12-13 2014-03-26 北京奇虎科技有限公司 对应用软件进行启动的方法和装置
CN104572224A (zh) * 2015-02-04 2015-04-29 南车株洲电力机车研究所有限公司 一种out文件加载方法、装置及系统
CN106066686A (zh) * 2016-05-31 2016-11-02 广东欧珀移动通信有限公司 一种信息处理方法及终端设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518931A (zh) * 2022-04-20 2022-05-20 北京远特科技股份有限公司 跨应用程序的高清图片复用方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN104133780B (zh) 一种跨页预取方法、装置及系统
CN109358936A (zh) 信息处理方法、装置、存储介质、电子设备及系统
CN107783818A (zh) 深度学习任务处理方法、装置、设备及存储介质
CN107463627A (zh) 一种图片加载方法及终端
CN105335099A (zh) 一种内存清理方法及终端
CN106502739B (zh) 利用移动存储设备制作启动盘的方法、装置和计算设备
CN107608693A (zh) 版本升级方法及终端设备
US10545663B2 (en) Method for changing an input mode in an electronic device
CN106020434B (zh) 人机接口设备输入融合的方法、设备及产品
WO2023024900A1 (zh) 安全启动校验的方法及电子设备
CN107102846A (zh) 一种应用程序界面显示方法及终端
CN106873970A (zh) 一种操作系统的安装方法和装置
US10241838B2 (en) Domain based resource isolation in multi-core systems
CN107423092A (zh) 应用启动方法、装置、终端设备及存储介质
US20140250251A1 (en) Automatically and transparently preserving testing state across sessions
CN111651158A (zh) 表单页面生成方法、装置、终端及存储介质
CN104281462A (zh) 固件升级配置保存系统及方法
US10318278B2 (en) Power management data package provision method and apparatus
CN110333969A (zh) 系统升级后应用启动异常处理方法及装置、介质和设备
CN108351888B (zh) 生成可推迟数据流
CN106528103A (zh) 一种数据迁移方法、装置及计算设备
CN112948817A (zh) 应用程序的权限控制方法、装置、计算机设备及介质
CN114756180B (zh) 覆盖写入数据块分配方法、装置、计算机设备及存储介质
CN206312120U (zh) 一种移动设备软件更新设备
US10592081B2 (en) Multi-language input method and multi-language input apparatus using the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20171201