CN111095199A - Method for loading application and upgrading application and terminal equipment - Google Patents

Method for loading application and upgrading application and terminal equipment Download PDF

Info

Publication number
CN111095199A
CN111095199A CN201780094776.6A CN201780094776A CN111095199A CN 111095199 A CN111095199 A CN 111095199A CN 201780094776 A CN201780094776 A CN 201780094776A CN 111095199 A CN111095199 A CN 111095199A
Authority
CN
China
Prior art keywords
application
terminal device
resource
upgrade patch
module
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
CN201780094776.6A
Other languages
Chinese (zh)
Other versions
CN111095199B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111165107.8A priority Critical patent/CN114020291A/en
Publication of CN111095199A publication Critical patent/CN111095199A/en
Application granted granted Critical
Publication of CN111095199B publication Critical patent/CN111095199B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

A method for loading application and upgrading application and a terminal device relate to the technical field of terminals and can reduce the memory occupancy rate of the terminal device so as to improve the performance of an operating system of the terminal device. The method for loading the application comprises the following steps: starting up the terminal equipment (S101); and scanning the first application (S102); and the terminal device determines the first application as an application implementing a common feature function (S103); and the terminal equipment loads the first application to the memory of the terminal equipment by adopting the system class loader (S104).

Description

Method for loading application and upgrading application and terminal equipment
The present application claims priority of chinese patent application with application number 201710931606.0, entitled "a method for loading and upgrading applications and terminal device" filed by chinese patent office on 09.10/2017, the entire contents of which are incorporated herein by reference.
Technical Field
The present application relates to the field of terminal technologies, and in particular, to a method for loading an application and upgrading the application, and a terminal device.
Background
With the continuous development of terminal technology, more and more terminal devices with operating systems are provided. Generally, a terminal device manufacturer and an Application (APP) manufacturer can develop a plurality of functional modules that can be commonly used by applications (including system applications and third-party applications) based on an operating system of a terminal device, and these common functional modules are referred to as common feature functions.
At present, an application manufacturer will package a common feature function into an application, so that if the application is started, an operating system of a terminal device will load the common feature function in the application into a memory when the application is loaded, so that the application can implement the function provided by the common feature function.
However, when a plurality of applications in the terminal device use the same common feature function, the common feature function may be repeatedly loaded by the operating system of the terminal device for a plurality of times, so that the memory occupancy rate of the terminal device is relatively high, thereby affecting the performance of the operating system of the terminal device.
Disclosure of Invention
The application provides a method for loading and upgrading applications and a terminal device, which can reduce the memory occupancy rate of the terminal device, thereby improving the performance of an operating system of the terminal device.
In order to achieve the purpose, the technical scheme is as follows:
in a first aspect, a method for loading an application is provided, in which a terminal device is started; and scanning the first application; and the terminal device determines the first application as an application realizing a common characteristic function; and the terminal equipment loads the first application to the memory of the terminal equipment by adopting a system loader. In the application, because the first application loaded by the system class loader is an application at an operating system level, other applications in the operating system can share the first application loaded in the memory, so that the other applications sharing the first application can directly call the first application in the memory after being started, and the first application does not need to be loaded again when the other applications sharing the first application are started, so that the first application can be prevented from being repeatedly loaded for many times when the other applications sharing the first application are started, the memory occupancy rate of the terminal device can be reduced, and the operating system performance of the terminal device can be improved.
In a first optional implementation manner of the first aspect, the method for determining, by the terminal device, that the first application is an application that implements a common feature function includes: and the terminal equipment determines the first application as the application realizing the public characteristic function according to the identifier of the first application included in the predefined public characteristic function list. In this way, the terminal device may determine, through the predefined common characteristic function list, that the first application is an application implementing a common characteristic function.
In a second optional implementation manner of the first aspect, the method for determining, by the terminal device, that the first application is an application that implements a common feature function includes: the terminal equipment inquires whether the identifier of the first application is included in a predefined public characteristic function list or not; and under the condition that the public characteristic function list comprises the identifier of the first application, the terminal equipment determines the first application as the application realizing the public characteristic function. In this way, the terminal device may determine whether the first application is an application implementing a common feature function through a predefined common feature function list.
In a third optional implementation manner of the first aspect, the method for determining, by the terminal device, that the first application is an application that implements a common feature function includes: the terminal equipment reads a first attribute of a first application (the first attribute is used for indicating whether the first application is an application realizing a common characteristic function); and in the case that the first attribute indicates that the first application is an application that implements a common characteristic function, the terminal device determines that the first application is an application that implements a common characteristic function. In this way, the terminal device can determine whether the application is an application that implements a common characteristic function by identifying the attribute of the application.
In a fourth optional implementation manner of the first aspect, after the terminal device uses the system class loader to load the first application into the memory of the terminal device, the terminal device may further start a second application in the terminal device according to the method for loading an application provided in the embodiment of the present application; and creating a path class loader of the second application; and under the condition that the second application is the application for calling the first application in the terminal equipment, the terminal equipment sets the parent class loader of the path class loader as a system class loader; and the terminal equipment loads the second application to the memory of the terminal equipment by adopting the system loader. In the application, the terminal device loads the first application for realizing the public characteristic function by using the system class loader and loads the second application for calling the first application by using the system class loader, so that the terminal device can find the first application based on the second application after the second application is started, namely, the second application can normally provide the public characteristic function realized by the first application for a user by calling the first application.
In a fifth optional implementation manner of the first aspect, in the method for loading an application provided in this embodiment of the present application, the terminal device may further send, to the server, an upgrade patch request message for requesting an upgrade patch package from the server (where the upgrade patch package is used to directly upgrade a third application at a member granularity, where the third application is a system application in the terminal device); and the terminal equipment receives the upgrade patch package sent by the server; and the terminal equipment directly upgrades the third application at the member granularity by adopting the upgrade patch package. In the application, on one hand, because the upgrade patch package requested by the terminal device to the server is used for upgrading the third application at the member granularity, compared with the upgrade application at the class granularity (one class includes a plurality of members) in the prior art, the upgrade patch package in the embodiment of the application is smaller, so that resources occupied by the upgrade patch package can be reduced, and the release period of the upgrade patch package can be shortened, thereby enabling the third application to be quickly repaired. On the other hand, since the third application is directly upgraded in the embodiment of the present application, compared with the application upgraded by upgrading the operating system of the terminal device in the prior art, the operating system of the terminal device does not need to be restarted after the third application is upgraded in the embodiment of the present application, so that the third application can be repaired more quickly.
In a second aspect, a method for upgrading an application is provided, in which a terminal device sends an upgrade patch request message to a server, the upgrade patch request message being used to request an upgrade patch package from the server (the upgrade patch package is used to directly upgrade the application at a member granularity, and the application is a system application in the terminal device); and the terminal equipment receives the upgrade patch package sent by the server; and the terminal equipment adopts the upgrading patch package to directly upgrade the application at the member granularity.
In a third aspect, a terminal device is provided, and the terminal device may include a starting module, a scanning module, a determining module, and a loading module. The starting module is used for starting up; the scanning module is used for scanning the first application; the determining module is used for determining the first application as an application realizing the common characteristic function; the loading module is used for loading the first application to the memory of the terminal equipment by adopting a system loader.
In a first optional implementation manner of the third aspect, the determining module is specifically configured to determine, according to an identifier of a first application included in the predefined common characteristic function list, that the first application is an application that implements the common characteristic function.
In a second optional implementation manner of the third aspect, the determining module is specifically configured to query whether the predefined common characteristic function list includes an identifier of the first application; and determining the first application as an application implementing a common feature function in case the identity of the first application is included in the common feature function list.
In a third optional implementation manner of the third aspect, the determining module is specifically configured to read a first attribute of the first application (where the first attribute is used to indicate whether the first application is an application that implements a common feature function); and determining that the first application is an application implementing a common feature function in case that the first attribute indicates that the first application is an application implementing a common feature function.
In a fourth optional implementation manner of the third aspect, the terminal device provided in this embodiment of the present application may further include a creating module and a setting module. The starting module is also used for starting a second application in the terminal equipment; the creating module is used for creating a path class loader of the second application started by the starting module; the setting module is used for setting the parent class loader of the path class loader established by the establishing module as a system class loader under the condition that the second application started by the starting module is the application for calling the first application in the terminal equipment; the loading module is further configured to load the second application to the memory of the terminal device by using the system loader set by the setting module.
In a fifth optional implementation manner of the third aspect, the terminal device provided in this embodiment of the present application may further include a sending module, a receiving module, and an upgrading module. The sending module is used for sending an upgrade patch request message for requesting an upgrade patch package to the server (the upgrade patch package is used for directly upgrading a third application in the member granularity, and the third application is a system application in the terminal device); the receiving module is used for receiving the upgrade patch package sent by the server after the sending module sends the upgrade patch request message to the server; the upgrade module is used for directly upgrading the third application at the member granularity by adopting the upgrade patch package received by the receiving module.
In a fourth aspect, a terminal device is provided, which includes a sending module, a receiving module, and an upgrading module. The sending module is used for sending an upgrade patch request message for requesting an upgrade patch package to the server (the upgrade patch package is used for directly upgrading application in member granularity, and the application is system application in the terminal equipment); the receiving module is used for receiving the upgrade patch package sent by the server after the sending module sends the upgrade patch request message to the server; the upgrading module is used for directly upgrading the application at the member granularity by adopting the upgrading patch package received by the receiving module.
In a fifth aspect, a terminal device is provided that may include a processor, a memory coupled to the processor, and one or more computer programs stored in the memory, the one or more computer programs including computer instructions that, when executed by the processor, the processor is configured for boot-up; and scanning the first application; and determining the first application as an application implementing a common feature function; and loading the first application to a memory of the terminal equipment by adopting a system loader.
In a first optional implementation manner of the fifth aspect, the processor is specifically configured to determine, according to an identifier of the first application included in the predefined common characteristic function list, that the first application is an application that implements the common characteristic function.
In a second optional implementation manner of the fifth aspect, the processor is specifically configured to query whether the predefined common characteristic function list includes an identifier of the first application; and determining the first application as an application implementing a common feature function in case the identity of the first application is included in the common feature function list.
In a third optional implementation manner of the fifth aspect, the processor is specifically configured to read a first attribute of a first application (where the first attribute is used to indicate whether the first application is an application that implements a common feature function); and determining that the first application is an application implementing a common feature function in case that the first attribute indicates that the first application is an application implementing a common feature function.
In a fourth optional implementation manner of the fifth aspect, the processor is further configured to start a second application; and creating a path class loader of the second application; and under the condition that the second application is the application for calling the first application in the terminal equipment, setting the parent class loader of the path class loader as a system class loader; and loading the second application to a memory of the terminal equipment by adopting the system class loader.
In a fifth optional implementation manner of the fifth aspect, the terminal device provided in the embodiment of the present application may further include a transmitter and a receiver. The transmitter is used for transmitting an upgrade patch request message for requesting an upgrade patch package to the server (the upgrade patch package is used for directly upgrading a third application at the member granularity, and the third application is a system application in the terminal device); the receiver is used for receiving the upgrade patch package sent by the server after the sender sends the upgrade patch request message to the server; the processor is further configured to directly upgrade the third application at a member granularity using the upgrade patch package received by the receiver.
In the first, third and fifth aspects, the upgrade patch package includes at least one resource and at least one identifier, and each identifier is used to uniquely identify one resource. The at least one resource includes at least one of a first resource and a second resource, the first resource is used for repairing an original resource of a third application, and the second resource is a newly added resource of the third application.
In a sixth aspect, an end device is provided that may include a transmitter, a receiver, a processor, a memory coupled to the processor, and one or more computer programs, the one or more computer programs being stored in the memory, the one or more computer programs including computer instructions that, when executed by the processor, the transmitter is to transmit an upgrade patch request message to a server to request an upgrade patch package from the server (the upgrade patch package is for a direct upgrade application at a membership granularity, the application being a system application in the end device); the receiver is used for receiving the upgrade patch package sent by the server after the sender sends the upgrade patch request message to the server; the processor is configured to directly upgrade the application at a member granularity using the upgrade patch package received by the receiver.
In the second, fourth and sixth aspects, the upgrade patch package includes at least one resource and at least one identifier, and each identifier is used to uniquely identify one resource. The at least one resource includes at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the application, and the second resource is a newly added resource of the application.
A seventh aspect provides a computer-readable storage medium, which includes computer instructions, when the computer instructions are executed on a terminal device, causing the terminal device to execute the method for loading an application in the first aspect or any one of its optional implementations; or a method for causing the terminal device to execute the application upgrade in the second aspect or any optional implementation manner thereof.
An eighth aspect provides a computer program product comprising computer instructions, which, when run on a terminal device, causes the terminal device to perform the method for loading an application in the first aspect or any one of its alternative implementations; or a method for causing the terminal device to execute the application upgrade in the second aspect or any optional implementation manner thereof.
For technical effects of the second aspect and any optional implementation manner thereof, the third aspect and any optional implementation manner thereof, the fourth aspect and any optional implementation manner thereof, the fifth aspect and any optional implementation manner thereof, the sixth aspect and any optional implementation manner thereof, the seventh aspect and the eighth aspect, reference may be specifically made to the above description of the technical effects of the first aspect and any optional implementation manner thereof, and no further description is provided herein.
Drawings
Fig. 1 is a hardware schematic diagram of a mobile phone according to an embodiment of the present disclosure;
fig. 2 is a first schematic diagram of a method for loading an application according to an embodiment of the present application;
fig. 3 is a schematic diagram of a method for loading an application according to an embodiment of the present application;
FIG. 4 is a diagram illustrating relationships between various class loaders provided by an embodiment of the present application;
fig. 5 is a schematic diagram of a mapping relationship (hereinafter, referred to as idmap) for generating a resource and an identifier according to an embodiment of the present application;
fig. 6 is a schematic diagram of a method for upgrading an application according to an embodiment of the present application;
fig. 7 is a first schematic structural diagram of a terminal device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a terminal device according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a terminal device provided in the embodiment of the present application;
fig. 10 is a schematic structural diagram of a terminal device according to an embodiment of the present application;
fig. 11 is a hardware schematic diagram of a terminal device according to an embodiment of the present application.
Detailed Description
The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. The symbol "/" herein denotes a relationship in which the associated object is or, for example, a/B denotes a or B.
The terms "first," "second," and "third," etc. in the description and claims of this application are used for distinguishing between different objects and not for describing a particular order of the objects. For example, the first application, the second application, the third application, and so on are for distinguishing different applications, and are not for describing a specific order of applications.
In the embodiments of the present application, words such as "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
In the description of the embodiments of the present application, the meaning of "a plurality" means two or more unless otherwise specified. For example, a plurality of applications refers to two or more applications; multiple classes refer to two or more classes.
Some terms or expressions referred to in the embodiments of the present application are explained first below.
Common feature function: the method refers to a functional module which can be commonly used by a terminal equipment manufacturer and an application manufacturer based on a plurality of applications (including system applications and third-party applications) developed by an operating system of the terminal equipment.
The system application comprises the following steps: refers to an application carried by an operating system of the terminal equipment. System applications typically cannot be uninstalled or deleted.
A third party application: refers to an application developed by an application vendor, some organization, or an individual. Third party applications can typically be installed, uninstalled or deleted.
Class loader: the method refers to a tool for loading the application class into the Java virtual machine before the Java virtual machine runs the application class. The Class Loader comprises a root Class Loader (Boot Class Loader), a System Class Loader (System Class Loader) and a Path Class Loader (Path Class Loader). And under the default condition, the parent class loader of the path class loader and the parent class loader of the system class loader are root class loaders. In the software development process, a developer may modify the parent class loader of the path class loader according to actual usage requirements, for example, in this embodiment, the parent class loader of the path class loader may be set as a system class loader.
A system upgrade patch package: refers to a compressed package in which an application installation package set developed based on a specific version is packaged.
Upgrading a patch package: refers to a compressed package generated from members (each class including a plurality of members) in a certain class/classes after update (including repair and addition) in an application. The space occupied by the upgrade patch package is smaller than the space occupied by the system upgrade patch package, or the resources occupied by the upgrade patch package are less than the resources occupied by the system upgrade patch package.
At present, since application manufacturers usually package a common feature function into applications, if a plurality of applications in a terminal device use the same common feature function, the common feature function may be repeatedly loaded by an operating system of the terminal device for many times in the process of starting the applications, so that the memory occupancy rate of the terminal device is high, and the performance of the operating system of the terminal device is affected.
In addition, at present, when an application is upgraded, because an application installation package for repairing a problem and an application installation package with newly added functions are assembled and packaged into a system upgrade patch package for upgrading an operating system of a terminal device, that is, the system upgrade patch package may include a plurality of application installation packages, and each application installation package is upgraded and applied at a class granularity, resources occupied by the system upgrade patch package are large, the release period of the system upgrade patch package is long, and the operating system of the terminal device needs to be restarted for upgrading, so that the application cannot be quickly repaired.
In order to solve the foregoing problem, in an aspect, an embodiment of the present application provides a method for loading an application, where after a terminal device is started, if the terminal device determines that a certain application (for example, a first application in this embodiment) is an application that implements a common feature function (the determination process may be executed before the terminal device scans the application after the terminal device is started, or may be executed after the terminal device scans the application after the terminal device is started), the terminal device may load the application into a memory of the terminal device by using a system class loader. Because the application loaded by the system class loader is the application at the operating system level, other applications in the operating system can share the application loaded in the memory, so that the application in the memory can be directly called after the other applications sharing the application are started, and the application does not need to be loaded again when the other applications sharing the application are started, so that the application can be prevented from being repeatedly loaded for many times when the other applications sharing the application are started, the memory occupancy rate of the terminal equipment can be reduced, and the operating system performance of the terminal equipment is improved.
On the other hand, the embodiment of the present application provides an application upgrading method, where, when a terminal device determines that an application is upgradable, the terminal device sends an upgrade patch request message to a server to request an upgrade patch package from the server, and after the terminal device receives the upgrade patch package sent by the server, the terminal device uses the upgrade patch package to directly upgrade the application at a member granularity. On one hand, the upgrade patch package requested by the terminal device to the server is used for upgrading the application at the member granularity, so that compared with the prior art that the application is upgraded at the class granularity (one class includes a plurality of members), the upgrade patch package in the embodiment of the application is smaller, so that the resources occupied by the upgrade patch package can be reduced, and the release period of the upgrade patch package can be shortened, thereby enabling the application to be quickly repaired. On the other hand, because the application is directly upgraded in the embodiment of the application, compared with the prior art that the application is upgraded by upgrading the operating system of the terminal device, the operating system of the terminal device does not need to be restarted after the application is upgraded in the embodiment of the application, so that the application can be repaired more quickly.
The method for loading the application and the method for upgrading the application provided by the embodiment of the present application may be applied to a terminal device, and may also be applied to a functional module or a functional entity capable of implementing loading the application and upgrading the application in the terminal device, which is not specifically limited in the embodiment of the present application.
First, an exemplary description is given of a hardware structure of a terminal device provided in an embodiment of the present application.
Specifically, taking the example that the terminal device provided in the embodiment of the present application is a mobile phone, each component of the mobile phone is specifically described with reference to fig. 1.
For example, as shown in fig. 1, a mobile phone provided in an embodiment of the present application may include: a processor 10, a Radio Frequency (RF) circuit 11, a power supply 12, a memory 13, an input module 14, a display module 15, and an audio circuit 16. Those skilled in the art will appreciate that the configuration of the handset shown in fig. 1 does not constitute a limitation of the handset, and may include more or fewer components than those shown in fig. 1, or may combine some of the components shown in fig. 1, or may be arranged differently than those shown in fig. 1.
The processor 10 is the control center of the handset and connects the various parts of the entire handset using various interfaces and lines. The overall monitoring of the mobile phone is performed by executing or executing software programs and/or modules stored in the memory 13 and calling data stored in the memory 13 to perform various functions of the mobile phone and process the data. Optionally, the processor 10 may include one or more processing modules, for example, the processor 10 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, an application program, and the like; the modem processor mainly handles wireless communication and the like. It will be appreciated that the modem processor described above may also be a processor separate from the processor 10.
The RF circuit 11 may be used to receive and transmit signals during the transmission and reception of information or during a call. For example, the downlink information of the base station is received and then processed by the processor 10; in addition, the uplink data is transmitted to the base station. Typically, the RF circuit includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), and a duplexer. In addition, the handset can also communicate wirelessly with other devices in the network via the RF circuit 11. The wireless communication may use any communication standard or protocol, including but not limited to global system for mobile communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, and Short Messaging Service (SMS), among others.
The power supply 12 may be used to power various components of the handset, and the power supply 12 may be a battery. Optionally, the power supply may be logically connected to the processor 10 through a power management system, so as to implement functions of managing charging, discharging, power consumption management, and the like through the power management system.
The memory 13 may be used to store software programs and/or modules, and the processor 10 executes various functional applications and data processing of the mobile phone by operating the software programs and/or modules stored in the memory 13. The memory 13 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, image data, a phonebook, etc.) created according to the use of the cellular phone, and the like. Further, the memory 13 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
The input module 14 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function controls of the handset. In particular, the input module 14 may include a touch screen 141 as well as other input devices 142. The touch screen 141, also referred to as a touch panel, may collect touch operations of a user (e.g., operations of the user on or near the touch screen 141 using any suitable object or accessory such as a finger, a stylus, etc.) thereon or nearby, and drive the corresponding connection device according to a preset program. Alternatively, the touch screen 141 may include two parts of a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 10, and can receive and execute commands sent by the processor 10. In addition, the touch screen 141 may be implemented in various types, such as a resistive type, a capacitive type, an infrared ray, and a surface acoustic wave. Other input devices 142 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power switch keys, etc.), a trackball, a mouse, and a joystick.
The display module 15 may be used to display information input by or provided to the user and various menus of the cellular phone. The display module 15 may include a display panel 151. Alternatively, the display panel 151 may be configured in the form of a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), or the like. Further, the touch screen 141 may cover the display panel 151, and when the touch screen 141 detects a touch operation thereon or nearby, it is transmitted to the processor 10 to determine the type of the touch event, and then the processor 10 provides a corresponding visual output on the display panel 151 according to the type of the touch event. Although the touch screen 141 and the display panel 151 are shown as two separate components in fig. 1 to implement the input and output functions of the mobile phone, in some embodiments, the touch screen 141 and the display panel 151 may be integrated to implement the input and output functions of the mobile phone.
Audio circuitry 16, a speaker 161 and a microphone 162 to provide an audio interface between the user and the handset. In one aspect, the audio circuit 16 may transmit the converted electrical signal of the received audio data to the speaker 161, and convert the electrical signal into an audio signal for output by the speaker 161. On the other hand, the microphone 162 converts the collected sound signal into an electrical signal, converts the electrical signal into audio data after being received by the audio circuit 16, and outputs the audio data to the RF circuit 11 through the processor 10 to be transmitted to, for example, another cellular phone, or outputs the audio data to the memory 13 through the processor 10 for further processing.
Optionally, the handset as shown in fig. 1 may also include various sensors. Such as gyroscope sensors, hygrometer sensors, infrared sensors, magnetometer sensors, etc., and will not be described in detail herein.
Optionally, the mobile phone shown in fig. 1 may further include a Wi-Fi module, a bluetooth module, and the like, which are not described herein again.
The method for loading and upgrading an application provided by the embodiment of the present application is described below by taking an example in which the method for loading and upgrading an application provided by the embodiment of the present application is applied to a terminal device.
As shown in fig. 2, an embodiment of the present application provides a method for loading an application, which may include S101-S107 described below.
S101, starting up the terminal equipment.
First, the terminal device is started.
S102, the terminal device scans the first application.
After the terminal equipment is started, each application in the terminal equipment is scanned in sequence. The applications include system applications and third-party applications, and generally, the terminal device scans each system application first and then scans each third-party application.
The first application in the embodiment of the present application may be one of system applications in the terminal device, and may also be one of third party applications in the terminal device. Specifically, the determination may be determined according to actual use requirements, and the embodiments of the present application are not limited.
S103, the terminal device determines the first application as an application realizing the common characteristic function.
It should be noted that the execution order of S102 and S103 may not be limited in the embodiments of the present application. That is, in the embodiment of the present application, S102 may be executed first, and then S103 may be executed; s103 may be executed first, and then S102 may be executed; s102 and S103 may also be performed simultaneously. The specific execution sequence will be described in detail in the description of S103 in the following embodiments. Fig. 2 illustrates that S103 is executed after S102.
Optionally, in this embodiment of the application, the terminal device may design the public characteristic function to be implemented by a system application or a third-party application, and preset the system application or the third-party application to a directory of an operating system of the terminal device, so that, after the terminal device is started, the terminal device may scan the public characteristic function by scanning each system application or the third-party application.
Optionally, in this embodiment of the application, the public characteristic function may be a function shared by multiple applications, such as a beauty function, an animation special effect function, a positioning function, a search function, a face recognition function, a fingerprint recognition function, a timing function, a translation function, a playing function, and a voice function.
It is to be understood that the above-mentioned list of common characteristic functions is an exemplary list, and may be determined according to actual use situations, and the embodiments of the present application are not limited.
Optionally, in this embodiment of the application, in the above S103, the method for the terminal device to determine that the first application is an application that implements the common feature function may be one of the following:
(1) and the terminal equipment determines the first application as the application realizing the public characteristic function according to the identifier of the first application included in the predefined public characteristic function list.
It is understood that, in (1), the embodiment of the present application may perform S103 first, and then perform S102. Specifically, in executing S102, if the terminal device determines that the currently scanned application is the first application, that is, the terminal device currently scans the first application, the terminal device may continue to execute S104 described below.
(2) The terminal equipment inquires whether the identifier of the first application is included in a predefined public characteristic function list or not; under the condition that the public characteristic function list comprises the identifier of the first application, the terminal equipment determines the first application as the application realizing the public characteristic function; in a case where the identification of the first application is not included in the common characteristic function list, the terminal device determines that the first application is not an application that implements the common characteristic function.
It is understood that in (2), the embodiment of the present application may perform S102 first, and then perform S103. Specifically, in executing S102, if the terminal device determines that the identifier of the currently scanned first application is in the predefined common characteristic function list, the terminal device may determine that the first application is an application implementing a common characteristic function, at which point the terminal device may continue to execute S104 described below.
In an embodiment of the application, a list of common feature functions may be predefined, and an identification of an application implementing each common feature function, for example, an identification of the first application, may be added to the list of common feature functions. The common feature function list may be preset to a directory of an operating system of the terminal device. Thus, in the above (1), the terminal device may determine that the first application is an application that implements the common characteristic function by reading the identifier of each application (including the first application) included in the common characteristic function list; in the above (2), the terminal device may determine whether the first application is an application implementing the common feature function by inquiring whether an identifier of a currently scanned application (e.g., the first application) is included in the common feature function list.
It is understood that the above list of common feature functions is only exemplary, and in actual implementation, the common feature functions can be implemented by a configuration file or the like. Specifically, the determination may be determined according to actual use requirements, and the embodiments of the present application are not limited.
The common feature functions provided in the embodiments of the present application are described below with reference to table 1, taking several common feature functions listed above as examples.
TABLE 1
Identification of applications Common feature function
APP1 Beautifying function
APP2 Animation special effect function
APP3 Positioning function
APP4 Search function
APP5 Face recognition function
APP6 Fingerprint identification function
APP7 Timing function
APP8 Translation function
APP9 Play function
APP10 Voice function
In the list of common characteristic functions shown in table 1, table 1 may only include the identification of the application when it is actually implemented, i.e. the column of common characteristic function in table 1 is the explanation of the common characteristic function implemented by the system application. In actual implementation, it can be predefined which common feature function each application is specifically used for. In this way, the terminal device may determine that an application is an application implementing a common feature function by reading an identifier of the application in the predefined common feature function list; or when the terminal device scans an application, if the terminal device finds the identifier of the application in the predefined public characteristic function list, the terminal device may determine that the application is an application implementing a public characteristic function.
For example, in combination with table 1, in an example where S103 is executed after S102, assuming that the common characteristic function is a positioning function implemented by APP3, when the terminal scans APP3, if the terminal finds an identifier of APP3 (for example, APP3) in table 1, the terminal may determine that APP3 is an application implementing the common characteristic function. Specifically, in the process of scanning the APP3, the terminal device may determine that the APP3 is specifically an application that implements the positioning function by analyzing each resource and each attribute of the APP 3.
It is understood that, in the embodiment of the present application, for other common characteristic functions in table 1 above, the determination method may be similar to the determination method of APP3 listed above, and is not listed here.
Optionally, in this embodiment of the application, the identifier of the first application may uniquely identify the first application. The identifier of the first application may be a name of the first application, an address where the first application is installed, or a combination of one or more of numbers, chinese characters, letters, characters, character strings, serial numbers, and the like, which can uniquely identify the first application. Specifically, the setting may be according to actual use requirements, and the embodiment of the present application is not limited.
(3) The terminal equipment reads a first attribute of a first application, wherein the first attribute is used for indicating whether the first application is an application realizing a public characteristic function or not; under the condition that the first attribute indicates that the first application is an application realizing a common characteristic function, the terminal device determines that the first application is the application realizing the common characteristic function; in a case where the first attribute indicates that the first application is not an application implementing a common characteristic function, the terminal device determines that the first application is not an application implementing a common characteristic function.
It can be understood that, since the attribute of the first application is analyzed in the process of scanning the first application, in (3), in the embodiment of the present application, S102 may be executed first, and then S103 may be executed.
In the embodiment of the application, each application has a plurality of attributes, wherein a first attribute in the plurality of attributes can be used for indicating whether the application is an application realizing a common characteristic function. In this way, the terminal device can determine whether the read application is an application that implements a common characteristic function by reading the first attribute of each application.
Optionally, taking the first application in the embodiment of the present application as an example, the first attribute may be a repository (library) attribute of the first application, and since the repository attribute may be commonly shared by each application, the embodiment of the present application may indicate whether the first application is an application that implements a common feature function by setting the repository attribute of the first application.
Specifically, the repository attribute includes a name (name) field, and in the embodiment of the application, the name field in the repository attribute is set as the name of the application, so that the application can be shared by other applications, that is, the function implemented by the application is a common characteristic function. That is, still taking the first application in the embodiment of the present application as an example, the name field in the repository attribute of the first application may be set as the name of the first application, so that the first application may be shared by other applications, that is, the function implemented by the first application is a common feature function.
For example, taking the beauty function in the public characteristic functions listed above as an example, in the embodiment of the present application, the name field in the repository attribute of the application implementing the beauty function may be set as the name of the application, so that the application may be shared by other applications, that is, the beauty function implemented by the application is one public characteristic function.
In the embodiment of the present application, the name of the application may be other identifiers listed above, which can uniquely identify the application. For the description of the identifier of the application, reference may be specifically made to the description related to the identifier of the application in (1) above, and details are not repeated here.
In the embodiment of the present application, if the terminal device determines that the first application is an application that implements the common feature function, the terminal device may continue to execute S104 and S105 described below.
In this embodiment of the application, since the terminal device usually defaults to loading the application by using the path class loader after scanning a certain application, if the terminal device determines that the first application is not an application that implements a common feature function, that is, the first application is a common application and does not need to be loaded globally, the terminal device may default to loading the first application to a memory of the terminal device by using the path class loader.
It should be noted that, in this embodiment of the application, each application includes multiple classes, taking the first application as an example, the first application also includes multiple classes, and the loading, by the terminal device, of the first application to the memory of the terminal device by using the path class loader means that the terminal device loads the class names of the multiple classes of the first application to the memory of the terminal device (this process is also referred to as preloading), and when the first application is specifically used, the terminal device loads the contents of the multiple classes to the memory.
And S104, the terminal equipment loads the first application to a memory of the terminal equipment by adopting a system loader.
In the embodiment of the present application, because the content loaded by the system class loader is usually at an operating system level, that is, the content loaded by the system class loader may be shared by all applications under the operating system, the embodiment of the present application may use the system class loader to load the common feature function, so that the loaded common feature function may be shared by all applications in the terminal device, thereby achieving the purpose that the common feature function is loaded globally.
It can be understood that, in S104, the terminal device also loads the class names of the multiple classes of the first application into the memory of the terminal device (this process is also referred to as preloading), and the terminal device loads the content of the multiple classes into the memory only when the first application is specifically used.
It is to be understood that, in this embodiment of the present application, the above-mentioned S102-S104 are described by taking as an example that the terminal device scans and determines one application (i.e. the above-mentioned first application) implementing one common feature function, and for other applications implementing other common feature functions in the terminal device, the methods for scanning and determining the terminal device are all similar to the method for scanning and determining the above-mentioned first application by the terminal device, and this embodiment of the present application is not particularly limited.
And S105, the terminal equipment scans other applications in sequence.
Wherein, each application in S105 may include a system application and a third party application.
It is understood that, if the first application in S101-S104 is a system application, the embodiment of the present application may execute S101-S104 first, and then execute S105; and when S105 is executed, the system applications other than the first application may be scanned, and then all the third party applications may be scanned. If the first application in S101-S104 is a third-party application, the embodiment of the present application may first perform S105 to scan all system applications, then perform S101-S104, and then perform S105 to scan other third-party applications except the first application. Wherein, fig. 2 is illustrated by the way that S105 is executed after S101-S104.
In the method for loading an application provided in this embodiment of the present application, after the terminal device is started, if the terminal device determines that a certain application (for example, a first application in this embodiment) is an application that implements a common characteristic function (the determination process may be executed before scanning the application after the terminal device is started, or may be executed after scanning the application after the terminal device is started), the terminal device may load the first application into a memory of the terminal device by using a system class loader. Because the first application loaded by the system class loader is an application at an operating system level, other applications in the operating system can share the first application loaded in the memory, so that the other applications sharing the first application can directly call the first application in the memory after being started, and the first application does not need to be loaded again when the other applications sharing the first application are started, so that the first application can be prevented from being repeatedly loaded for many times when the other applications sharing the first application are started, the memory occupancy rate of the terminal device can be reduced, and the operating system performance of the terminal device can be improved.
Optionally, with reference to fig. 2, as shown in fig. 3, after S105 described above, the method for loading an application provided in the embodiment of the present application may further include S106 to S111 described below.
And S106, the terminal equipment starts the second application.
The second application may be an application that calls the first application in the terminal device (that is, the second application is an application that uses the common feature function implemented by the first application in the terminal device), or may be an application that does not call the first application in the terminal device (that is, the second application is an application that does not use the common feature function implemented by the first application in the terminal device).
S107, the terminal device creates a path class loader of the second application.
Since the terminal device loads the application by default using the path class loader, the terminal device first creates the path class loader of the second application when the terminal device starts the second application.
S108, the terminal device determines whether the second application is the application of the terminal device for calling the first application.
In this embodiment of the application, if the terminal device determines that the second application is an application that does not invoke the first application in the terminal device, the terminal device may continue to execute S109 described below; if the terminal device determines that the second application is an application of the terminal device that invokes the first application, the terminal device may continue to perform S110 and S111 described below.
And S109, the terminal equipment loads the second application to the memory of the terminal equipment by adopting the path class loader.
The following embodiment exemplarily illustrates the first application and the second application by taking the second application as an application for calling the first application in the terminal device as an example.
It can be understood that, in this embodiment of the application, if the second application is an application in the terminal device that invokes the first application, an identifier of the first application (for example, a name of the first application) may be preset in the second application, so that the terminal device may invoke the first application through the identifier preset in the second application, thereby providing the common feature function implemented by the first application for the user. Moreover, the identifier of the first application is preset in the second application, and is not the implementation code of the first application, so that the terminal device does not need to load the first application when loading the second application.
For example, in the case of the common characteristic function listed in S103, assuming that the common characteristic function implemented by the first application is a beauty function, the second application may be any application using the beauty function, for example, the second application may be a camera-type application, a health-type application, or a sports-type application.
Further, assuming that the common feature function implemented by the first application is an animation special effect function, the second application may be any application using the animation special effect function, for example, the second application may be a camera-type application, a map-type application, a weather-type application, a shopping-type application, a sports-type application, a media-type application, a browser-type application, or a health-type application.
Further assuming that the common feature function implemented by the first application is a positioning function, the second application may be any application using the positioning function, for example, the second application may be a map-type application, a weather-type application, a shopping-type application, or a sports-type application.
Further assuming that the common feature function implemented by the first application is a search function, the second application may be any application using the search function, for example, the second application may be a media-type application, a reading-type application, or a browser-type application.
Further, assuming that the common feature function implemented by the first application is a face recognition function, the second application may be any application using the face recognition function, for example, the second application may be a camera-type application, a payment-type application, a health-type application, a sports-type application, or a bank-type application.
Further, assuming that the public characteristic function implemented by the first application is a fingerprint identification function, the second application may be any application using the fingerprint identification function, for example, the second application may be a screen lock application, a payment application, or a security and privacy tool application.
Further, assuming that the common feature function implemented by the first application is a timing function, the second application may be any application using the timing function, for example, the second application may be a clock-type application, a trip-type application, a health-type application, a sports-type application, or a mailbox-type application.
Further assuming that the common property function implemented by the first application is a translation function, the second application may be any application using the translation function, for example, the second application may be a reading-type application or a learning-type application.
Further, assuming that the common feature function implemented by the first application is a play function, the second application may be any application using the play function, for example, the second application may be a shopping application, a media application, or a browser application.
Further assuming that the common feature function implemented by the first application is a voice function, the second application may be any application using the voice function, for example, the second application may be a map-based application, a media-based application, a browser-based application, or a social-based application.
It is to be understood that, in the embodiment of the present application, some of the second applications listed in the above examples may be system applications or third party applications. For example, the camera class application may be a system camera class application or a third-party camera class application; the map application can be a system map application or a third-party map application; the weather application may be a system weather application or a third-party weather application, and the like, which may be determined specifically according to an actual situation, and the embodiment of the present application is not limited.
S110, the terminal device sets a parent class loader of a path class loader of the second application as a system class loader.
In the embodiment of the application, according to a parent delegation mechanism of class loading, when a terminal device loads a class, a system class loader is firstly adopted to search for the class to be loaded, and if the system class loader does not search for the class to be loaded, the applied path class loader searches and loads the class. According to this principle, since the terminal device is loaded by using the system class loader when preloading the first application in S104, in order to enable the second application to be started, the terminal device may search the first application based on the second application, that is, enable the second application to normally provide the common characteristic function implemented by the first application for the user by invoking the first application, in this embodiment of the application, after the terminal device creates the path class loader of the second application, the terminal device may set the parent class loader of the path class loader as the system class loader, so that the terminal device may directly load the second application to the memory of the terminal device by using the system class loader according to the biparental delegation mechanism of class loading. As described in S111 below, the terminal device uses the system class loader to load the second application into the memory of the terminal device.
And S111, the terminal equipment loads the second application to a memory of the terminal equipment by adopting a system loader.
In the embodiment of the application, the terminal device loads the second application to the memory of the terminal device by using the system class loader, so that after the second application is started, the terminal device can find the first application based on the second application (the first application is also loaded to the memory of the terminal device by using the system class loader), that is, the second application can normally provide the common characteristic function realized by the first application for the user by calling the first application.
For example, still taking the first application to implement the above-mentioned beauty function, taking the second application as a camera application as an example, after the terminal device loads the first application implementing the beauty function and the camera application calling the first application by using the system loader, the terminal device may search the first application implementing the beauty function based on the camera application, thereby ensuring that the camera application can normally provide the user with the beauty function implemented by the first application by calling the first application.
The various class loaders in the embodiments of the present application are described below with reference to FIG. 4 as an example. Fig. 4 is a schematic diagram illustrating relationships among various class loaders in the terminal device according to the embodiment of the present application. In fig. 4, the parent class loader (shown as parent in fig. 4) of the path class loader is a system class loader or a root class loader (by default, the parent class loader of the path class loader is the root class loader), and the parent class loader of the system class loader is the root class loader. The path class loader is used for loading common applications (such as music. apk and bluetooth. apk in fig. 4, music. apk represents a music installation package in an android operating system, and bluetooth. apk represents a bluetooth installation package in the android operating system), system services (such as services. jar in fig. 4, services. jar represents one service in the android operating system), and the like. The system class loader is used to load an application that implements a common property function, such as the first application in the embodiments of the present application (e.g., feature.apk in fig. 4, which represents a common property function in an android operating system). The root class loader is used for loading a system framework of the android operating system, such as a core library layer (e.g., like libcore. jar in fig. 4) and a framework layer (e.g., like framework. jar in fig. 4) in the android operating system.
Optionally, with reference to fig. 2, after S105 described above, the method for loading an application provided in the embodiment of the present application may further include S112 to S117 described below.
And S112, the terminal equipment sends an upgrade patch request message to the server.
S113, the server receives the upgrade patch request message sent by the terminal equipment.
In this embodiment, a possible implementation manner is that, when the terminal device determines that an application running in the terminal device, for example, a third application in this embodiment, is abnormal, the terminal device determines to upgrade the third application, and at this time, the terminal device may trigger execution of S112 to S117.
Another possible implementation manner is that the terminal device may periodically check whether there is an application, for example, an upgrade patch package of a third application in this embodiment, on the server for a predefined first time period, and when the terminal device determines that there is an upgrade patch package of the third application on the server, the terminal device determines to upgrade the third application, and at this time, the terminal device may trigger execution of S112-S117.
Optionally, in another possible implementation manner described above, the predefined first time may be any predefined time, such as a day, a week, or a month, and the like, and may be specifically defined according to an actual use requirement, which is not limited in the embodiment of the present application.
Wherein, the upgrade patch request message is used for requesting an upgrade patch package from the server. The upgrade patch package is used for directly upgrading a third application at the member granularity, wherein the third application is a system application in the terminal equipment.
Since the third-party application may be generally downloaded from an application store (APP store), the third application in the embodiment of the present application mainly refers to a system application.
In an embodiment of the present application, each application includes a plurality of classes, and each class includes a plurality of members. The upgrade patch package may include at least one member, wherein when the number of members is multiple, the multiple members may be members in different classes. In the embodiment of the application, when the third application is upgraded by using the upgrade patch package, the third application can be upgraded at the member granularity, that is, only the members needing to be upgraded need to be upgraded, and the whole class where the members are located does not need to be upgraded. For example, a member of the third application that requires repair may be replaced with a member of the upgrade patch package, and/or a member of the upgrade patch package may be newly added to the third application. Compared with the class-granularity upgrade application in the prior art, the upgrade patch package in the embodiment of the application is smaller, so that the resources occupied by the upgrade patch package can be reduced, the release period of the upgrade patch package can be shortened, and the third application can be quickly repaired.
In addition, since the third application is directly upgraded in the embodiment of the present application, compared with the prior art that the application is upgraded by upgrading the operating system of the terminal device, the operating system of the terminal device does not need to be restarted after the third application is upgraded in the embodiment of the present application, so that the third application can be repaired more quickly.
Optionally, in this embodiment of the application, the upgrade patch request message may include current version information of the third application. The current version information of the third application can uniquely identify the current version of the third application. The current version information of the third application may be a combination of one or more of numbers, chinese characters, letters, character strings, serial numbers, and the like. Specifically, the determination may be determined according to actual use requirements, and the embodiments of the present application are not limited.
Optionally, in this embodiment of the application, the upgrade patch package may include at least one resource and at least one identifier. Wherein each identifier is used to uniquely identify a resource. The at least one resource includes at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the third application (the first resource may also be referred to as a repair resource of the third application), and the second resource is an added resource of the third application (that is, the second resource is a resource added on the basis of the original resource of the third application).
It should be noted that, in the embodiment of the present application, the identifier for identifying a resource in the upgrade patch package may be considered as a member, that is, the upgrade patch package includes at least one member.
Optionally, in this embodiment of the present application, the resource may be a combination of one or more of numbers, characters (including characters and letters, etc.), pictures, and files (including files in various formats). Specifically, the determination may be determined according to actual use requirements, and the embodiments of the present application are not limited.
The identifier for uniquely identifying the resource may be a name of the resource, a storage address of the resource, or a combination of one or more of other numbers, chinese characters, letters, characters, character strings, serial numbers, and the like, which can uniquely identify the resource. Specifically, the determination may be determined according to actual use requirements, and the embodiments of the present application are not limited.
Illustratively, taking still the third application as an example, as shown in fig. 5, a schematic diagram for generating idmap provided in the embodiment of the present application is shown (due to the specificity of the resource, fig. 5 only shows an identifier for uniquely identifying the resource, and does not show the resource). In fig. 5, part a represents code for identifying an original resource in the third application; part B represents a code in the upgrade patch package for identifying the repair resource of the third application and the identifier of the newly added resource of the third application, specifically, part B1 represents a code of the identifier of the repair resource of the third application, and part B2 represents a code of the identifier of the newly added resource of the third application. With the method for upgrading an application provided by the embodiment of the present application, when the third application is upgraded at a member granularity by using an upgrade patch package, by generating and expanding idmap and executing code in the idmap, it may be implemented to replace an original resource of the third application with a repair resource of the third application and add a new resource of the third application to the back of other resources in the third application, for example, as shown in part C in fig. 5, in the idmap, as a schematic diagram of the generated and expanded idmap, it may be implemented to replace a1 with B1 in part a by executing C1 and C3, and it may be implemented to add B2 in part a by executing C2 and C3. On one hand, since the upgrade patch package requested by the terminal device from the server is used for upgrading the third application at the granularity of members (e.g., B1 and B2 shown in fig. 5), the upgrade patch package in the embodiment of the present application is smaller than that in the prior art, in which the application is upgraded at the class granularity (one class includes a plurality of members), so that the resources occupied by the upgrade patch package can be reduced, and the release cycle of the upgrade patch package can be shortened, thereby enabling the third application to be repaired quickly. On the other hand, since the third application is directly upgraded in the embodiment of the present application, compared with the application upgraded by upgrading the operating system of the terminal device in the prior art, the operating system of the terminal device does not need to be restarted after the third application is upgraded in the embodiment of the present application, so that the third application can be repaired more quickly.
It is to be understood that in FIG. 5 above, if A is considered to be a class, then A1, B1, and B2 may be considered to be three members.
S114, the server searches for the upgrade patch package corresponding to the current version information according to the current version information of the third application in the upgrade patch request message.
In the embodiment of the application, the server can store the mapping relationship between the version information of a plurality of applications and a plurality of upgrade patch packages. The mapping relationship between the version information of the plurality of applications and the plurality of upgrade patch packs may include a mapping relationship between the current version information of the third application and the upgrade patch packs. In this way, after the server receives the upgrade patch request message sent by the terminal device, the server may search, according to the current version information of the third application in the upgrade patch request message, the upgrade patch package corresponding to the current version information on the server.
For example, taking the example that the current version information of the third application is a combination of numbers and letters listed in the above S113, the mapping relationship between the current version information of the third application and the upgrade patch package will be described with reference to table 2.
TABLE 2
Current version information of third application Upgrade patch package
V1 Upgrade patch Package 1
V2 Upgrade patch Package 2
V3 Upgrade patch package 3
V4 Upgrade patch package 4
As shown in table 2, assuming that the current version information of the third application carried in the upgrade patch request message received by the server is V2, the server may search for the upgrade patch package corresponding to V2 in table 2, for example, the server searches for the upgrade patch package 2 corresponding to V2 in table 2, and then the server sends the upgrade patch package 2 to the terminal device, so that the terminal device upgrades the third application using the upgrade patch package 2. Therefore, the phenomenon of error caused by the fact that the versions are not corresponding when the third application is upgraded can be avoided.
And S115, under the condition that the server finds the upgrade patch package corresponding to the current version information, the server sends the upgrade patch package to the terminal equipment.
It can be understood that, in the embodiment of the present application, in a case that the server does not find the upgrade patch package corresponding to the current version information of the third application, the server may discard the upgrade patch request message sent by the terminal device. In addition, the server can also send an upgrade patch response message to the terminal device to inform the terminal device that the upgrade patch package corresponding to the current version information of the third application is not found; or the terminal device may not send any message to the terminal device, so that after the terminal device sends the upgrade patch request message, if the upgrade patch package corresponding to the current version information of the third application sent by the server is not received over a certain time, and the upgrade patch response message sent by the server is not received, the terminal device may consider that the upgrade patch package corresponding to the current version information of the third application is not present on the server.
And S116, the terminal equipment receives the upgrade patch package sent by the server.
And S117, the terminal equipment adopts the upgrading patch package to directly upgrade the third application at the member granularity.
After the terminal device receives the upgrade patch package sent by the server, the terminal device may directly upgrade the third application at the member granularity by using the upgrade patch package to repair the original resource of the third application and/or add a new resource of the third application to the third application.
It is to be understood that, in the embodiment of the present application, the third application and the second application may be the same application or may be different applications. Specifically, when the second application is a system application, the third application and the second application may be the same application.
It should be noted that, in the embodiment of the present application, S112 to S117 are exemplified to be executed after S105, and in an actual implementation, S112 to S117 may also be executed after S111, and the embodiment of the present application is not particularly limited.
According to the method for upgrading the application, under the condition that the terminal device determines that the third application can be upgraded, the terminal device sends the upgrade patch request message to the server to request the server for upgrading the patch package, and after the terminal device receives the upgrade patch package sent by the server, the terminal device adopts the upgrade patch package to directly upgrade the third application at the member granularity. On one hand, since the upgrade patch package requested by the terminal device to the server is used for upgrading the third application at the member granularity, compared with the prior art in which the application is upgraded at the class granularity (where one class includes a plurality of members), the upgrade patch package in the embodiment of the present application is smaller, so that resources occupied by the upgrade patch package can be reduced, and the release cycle of the upgrade patch package can be shortened, thereby enabling the third application to be repaired quickly. On the other hand, since the third application is directly upgraded in the embodiment of the present application, compared with the prior art that the application is upgraded by upgrading the operating system of the terminal device, the operating system of the terminal device does not need to be restarted after the third application is upgraded in the embodiment of the present application, so that the third application can be repaired more quickly.
Optionally, the method for loading an application provided in this embodiment of the present application may further include the following steps S118 to S119.
S118, the server searches for the expired upgrade patch package according to the current version information of the third application.
S119, under the condition that the server finds the expired upgrading patch package, the server deletes the expired upgrading patch package.
Optionally, in this embodiment of the application, the server may execute S118-S119 under the trigger of the upgrade patch request message sent by the terminal device (for example, under the trigger of S113 described above); S118-S119 may also be performed periodically with a predefined second time period. Specifically, the determination may be determined according to actual use requirements, and the embodiments of the present application are not limited.
The predefined second time may be any predefined time, such as a day, a week, or a month, and may be specifically defined according to actual use requirements, and the embodiment of the present application is not limited.
In this embodiment of the application, the expired upgrade patch package refers to an upgrade patch package that does not correspond to the current version information of the third application, and may be, for example, an upgrade patch package that corresponds to certain/some version information before the current version information of the third application. For example, it is assumed that the current version information of the third application is V2, the version information before V2 is V1, and the upgrade patch package corresponding to V1 is the outdated upgrade patch package.
In the embodiment of the application, the server can save the storage space of the server by deleting the expired upgrade patch package on the server.
As shown in fig. 6, an embodiment of the present application further provides a method for upgrading an application, which may include S201-S206 described below.
S201, the terminal equipment sends an upgrade patch request message to the server.
S202, the server receives an upgrade patch request message sent by the terminal equipment.
S203, the server searches the upgrade patch package corresponding to the current version information according to the current version information of the third application in the upgrade patch request message.
And S204, under the condition that the server finds the upgrade patch package corresponding to the current version information, the server sends the upgrade patch package to the terminal equipment.
S205, the terminal equipment receives the upgrade patch package sent by the server.
And S206, the terminal equipment directly upgrades the third application at the member granularity by adopting the upgrade patch package.
For the descriptions of S201 to S206, reference may be specifically made to the descriptions of S112 to S117 in the foregoing embodiments, and details are not described here again.
Optionally, the method for upgrading an application provided in the embodiment of the present application may further include S207 to S208 described below.
S207, the server searches for the expired upgrade patch package according to the current version information of the third application.
And S208, under the condition that the server finds the expired upgrading patch package, the server deletes the expired upgrading patch package.
For the description of S207 to S208, reference may be specifically made to the description of S118 to S119 in the foregoing embodiments, and details are not repeated here.
The foregoing embodiments mainly introduce the solutions provided in the embodiments of the present application from the perspective of terminal devices. It is to be understood that, in order to implement the above functions, the terminal device and the like provided in the embodiments of the present application include a hardware structure and/or a software module corresponding to the execution of each function. Those of skill in the art will readily appreciate that the various illustrative modules and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
According to the method, the terminal device and the like can be divided into the functional modules exemplarily. For example, the functional blocks may be divided for the respective functions, or two or more functions may be integrated into one block. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, in the embodiment of the present application, the division of the module is schematic, and is only one logic function division, and there may be another division manner in actual implementation.
Fig. 7 shows a possible structural diagram of the terminal device according to the embodiment of the present application in a case where the functional modules are divided according to the respective functions. As shown in fig. 7, the terminal device may include: a start module 20, a scan module 21, a determination module 22 and a load module 23. The starting module 20 may be configured to support the terminal device to perform S101 and S106 performed by the terminal device in the foregoing method embodiment; the scanning module 21 may be configured to support the terminal device to perform S102 and S105 performed by the terminal device in the foregoing method embodiment; the determining module 22 may be configured to support the terminal device to perform S103 and S108 performed by the terminal device in the foregoing method embodiment; the loading module 23 may be configured to support the terminal device to execute S104, S109, and S111 executed by the terminal device in the foregoing method embodiment. Optionally, with reference to fig. 7, as shown in fig. 8, the terminal device provided in the embodiment of the present application may further include a creating module 24 and a setting module 25. The creating module 24 may be configured to support the terminal device to perform S107 performed by the terminal device in the foregoing method embodiment; the setting module 25 may be configured to support the terminal device to execute S110 executed by the terminal device in the above method embodiment.
Optionally, with reference to fig. 7, the terminal device provided in the embodiment of the present application may further include a sending module, a receiving module, and an upgrading module. The sending module may be configured to support the terminal device to perform S112 performed by the terminal device in the foregoing method embodiment; the receiving module may be configured to support the terminal device to perform S116 performed by the terminal device in the foregoing method embodiment; the upgrade module may be configured to support the terminal device to execute S117 performed by the terminal device in the above method embodiment. It is to be understood that the above functional modules may also perform other processes of the technology described in the embodiments of the present application. All relevant contents of each step related to the above method embodiment may be referred to the functional description of the corresponding functional module, and are not described herein again.
Optionally, as shown in fig. 9, the terminal device provided in the embodiment of the present application may include a sending module 30, a receiving module 31, and an upgrading module 32. The sending module 30 may be configured to support the terminal device to execute S201 executed by the terminal device in the foregoing method embodiment; the receiving module 31 may be configured to support the terminal device to execute S205 executed by the terminal device in the foregoing method embodiment; the upgrade module 32 may be configured to support the terminal device to execute S206 performed by the terminal device in the foregoing method embodiment. It is to be understood that the various functional modules described above may also perform other processes for the techniques described herein.
In the case of using integrated functional modules, fig. 10 shows a schematic diagram of a possible structure of a terminal device provided in an embodiment of the present application. As shown in fig. 10, the terminal device may include: a processing module 40 and a storage module 41. The processing module 40 may be configured to control and manage the actions of the terminal device, for example, the processing module 40 may be configured to support the terminal device to perform S101, S102, S103, S104, S105, S106, S107, S108, S109, S110, S111 and S117, which are performed by the terminal device in the above method embodiments, and/or other processes of the technology described herein. The memory module 41 is used to store the program codes and data of the terminal device. Optionally, as shown in fig. 10, the terminal device may further include a communication module 42, and the communication module 42 may be configured to support communication between the terminal device and other devices, for example, the communication module 42 may be configured to support interaction between the terminal device and other terminal devices. In embodiments of the present application, the communication module 42 may be configured to support the terminal device to perform S112 and S116 performed by the terminal device in the above-described method embodiments, and/or other processes of the technology described herein.
Optionally, as shown in fig. 10, the processing module 40 may be configured to support the terminal device to execute S206 performed by the terminal device in the foregoing method embodiment, and/or other processes of the technology described herein. The communication module 42 may be used to support the terminal device to perform the processes S201 and S205 performed by the terminal device in the above-described method embodiments, and/or other processes of the techniques described herein.
The processing module 40 may be a processor or a controller, and may be, for example, a Central Processing Unit (CPU), a general purpose processor, a Digital Signal Processor (DSP), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others. The storage module 41 may be a memory, which may include a general memory for storing the software programs and/or modules of the terminal device and a memory for the processor to load and run the software programs of the terminal device. The communication module 42 may be a transceiver, a transceiving circuit or a communication interface, etc.
Illustratively, the processing module 40 may be the processor 10 described above and shown in FIG. 1. The storage module 41 may be the memory 13 described above and shown in fig. 1. The communication module 42 may be the RF circuit 11 and/or the input module 14, etc., as described above with reference to fig. 1.
When the processing module 40 is a processor, the storage module 41 is a memory, and the communication module 42 is a transceiver, as shown in fig. 11, a hardware diagram of a terminal device provided in an embodiment of the present application is shown. As shown in fig. 11, the terminal device includes a processor 50, a memory 51, and a transceiver 52. The processor 50, the memory 51 and the transceiver 52 may be connected to each other by a bus 53. The bus 53 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus 53 may be divided into an address bus, a data bus, a control bus, and the like.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented using a software program, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produce, in whole or in part, the processes or functions described in the embodiments of the application. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device including one or more available media integrated servers, data centers, and the like. The usable medium may be a magnetic medium (e.g., floppy disk, magnetic tape), an optical medium (e.g., Digital Video Disk (DVD)), or a semiconductor medium (e.g., Solid State Drive (SSD)), among others.
Through the above description of the embodiments, it is clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device may be divided into different functional modules to complete all or part of the above described functions. For the specific working processes of the system, the apparatus and the unit described above, reference may be made to the corresponding processes in the foregoing method embodiments, and details are not described here again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) or a processor to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: flash memory, removable hard drive, read only memory, random access memory, magnetic or optical disk, and the like.
The above description is only an embodiment of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present disclosure should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (26)

  1. A method of loading an application, comprising:
    starting up the terminal equipment;
    the terminal equipment scans a first application;
    the terminal equipment determines the first application as an application realizing a common characteristic function;
    and the terminal equipment loads the first application to a memory of the terminal equipment by adopting a system loader.
  2. The method of claim 1, wherein the terminal device determining that the first application is an application implementing a common feature function comprises:
    and the terminal equipment determines the first application as the application realizing the public characteristic function according to the identifier of the first application included in the predefined public characteristic function list.
  3. The method of claim 1, wherein the terminal device determining that the first application is an application implementing a common feature function comprises:
    the terminal equipment inquires whether an identifier of the first application is included in a predefined public characteristic function list, and under the condition that the identifier of the first application is included in the public characteristic function list, the terminal equipment determines that the first application is an application realizing a public characteristic function; or,
    the terminal device reads a first attribute of the first application, wherein the first attribute is used for indicating whether the first application is an application realizing a common characteristic function, and the terminal device determines that the first application is the application realizing the common characteristic function under the condition that the first attribute indicates that the first application is the application realizing the common characteristic function.
  4. The method according to any one of claims 1 to 3, wherein after the terminal device loads the first application into the memory of the terminal device by using a system class loader, the method further comprises:
    the terminal equipment starts a second application;
    the terminal equipment creates a path class loader of the second application;
    when the second application is the application of the terminal device calling the first application, the terminal device sets a parent class loader of the path class loader as the system class loader;
    and the terminal equipment loads the second application to the memory by adopting the system class loader.
  5. The method of any one of claims 1 to 4, further comprising:
    the terminal equipment sends an upgrade patch request message to a server, wherein the upgrade patch request message is used for requesting an upgrade patch package to the server, the upgrade patch package is used for directly upgrading a third application at the member granularity, and the third application is a system application in the terminal equipment;
    the terminal equipment receives the upgrade patch package sent by the server;
    and the terminal equipment directly upgrades the third application at the member granularity by adopting the upgrade patch package.
  6. The method of claim 5,
    the upgrade patch package comprises at least one resource and at least one identifier, each identifier is used for uniquely identifying one resource, the at least one resource comprises at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the third application, and the second resource is a newly added resource of the third application.
  7. A method of upgrading an application, comprising:
    the method comprises the steps that terminal equipment sends an upgrade patch request message to a server, wherein the upgrade patch request message is used for requesting an upgrade patch package to the server, the upgrade patch package is used for directly upgrading application in member granularity, and the application is system application in the terminal equipment;
    the terminal equipment receives the upgrade patch package sent by the server;
    and the terminal equipment directly upgrades the application at the member granularity by adopting the upgrade patch package.
  8. The method of claim 7,
    the upgrade patch package comprises at least one resource and at least one identifier, each identifier is used for uniquely identifying one resource, the at least one resource comprises at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the application, and the second resource is a newly added resource of the application.
  9. The terminal equipment is characterized by comprising a starting module, a scanning module, a determining module and a loading module;
    the starting module is used for starting up;
    the scanning module is used for scanning a first application;
    the determining module is used for determining the first application as an application realizing a common characteristic function;
    the loading module is configured to load the first application to the memory of the terminal device by using a system class loader.
  10. The terminal device of claim 9,
    the determining module is specifically configured to determine, according to the identifier of the first application included in the predefined common characteristic function list, that the first application is an application that implements a common characteristic function.
  11. The terminal device of claim 9,
    the determining module is specifically configured to query whether a predefined public characteristic function list includes an identifier of the first application, and determine that the first application is an application that implements a public characteristic function when the public characteristic function list includes the identifier of the first application; or reading a first attribute of the first application, where the first attribute is used to indicate whether the first application is an application that implements a common feature function, and determining that the first application is an application that implements a common feature function when the first attribute indicates that the first application is an application that implements a common feature function.
  12. The terminal device according to any one of claims 9 to 11, wherein the terminal device further comprises a creation module and a setting module;
    the starting module is also used for starting a second application;
    the creating module is used for creating a path class loader of the second application started by the starting module;
    the setting module is configured to set a parent class loader of the path class loader created by the creating module as the system class loader when the second application started by the starting module is an application that calls the first application in the terminal device;
    the loading module is further configured to load the second application to the memory by using the system class loader set by the setting module.
  13. The terminal device according to any one of claims 9 to 12, wherein the terminal device further comprises a sending module, a receiving module and an upgrading module;
    the sending module is configured to send an upgrade patch request message to a server, where the upgrade patch request message is used to request an upgrade patch package from the server, the upgrade patch package is used to directly upgrade a third application at a member granularity, and the third application is a system application in the terminal device;
    the receiving module is configured to receive the upgrade patch package sent by the server after the sending module sends the upgrade patch request message to the server;
    the upgrade module is configured to directly upgrade the third application at a member granularity by using the upgrade patch package received by the receiving module.
  14. The terminal device of claim 13,
    the upgrade patch package comprises at least one resource and at least one identifier, each identifier is used for uniquely identifying one resource, the at least one resource comprises at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the third application, and the second resource is a newly added resource of the third application.
  15. The terminal equipment is characterized by comprising a sending module, a receiving module and an upgrading module;
    the sending module is configured to send an upgrade patch request message to a server, where the upgrade patch request message is used to request an upgrade patch package from the server, the upgrade patch package is used to directly upgrade an application at a member granularity, and the application is a system application in the terminal device;
    the receiving module is configured to receive the upgrade patch package sent by the server after the sending module sends the upgrade patch request message to the server;
    the upgrade module is used for directly upgrading the application at the member granularity by adopting the upgrade patch package received by the receiving module.
  16. The terminal device of claim 15,
    the upgrade patch package comprises at least one resource and at least one identifier, each identifier is used for uniquely identifying one resource, the at least one resource comprises at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the application, and the second resource is a newly added resource of the application.
  17. A terminal device comprising a processor, a memory coupled to the processor, and one or more computer programs, the one or more computer programs being stored in the memory, the one or more computer programs comprising computer instructions that, when executed by the processor,
    the processor is used for starting up; and scanning the first application; and determining the first application as an application implementing a common feature function; and loading the first application to a memory of the terminal equipment by adopting a system loader.
  18. The terminal device of claim 17,
    the processor is specifically configured to determine, according to an identifier of the first application included in a predefined common characteristic function list, that the first application is an application that implements a common characteristic function.
  19. The terminal device of claim 17,
    the processor is specifically configured to query whether a predefined public characteristic function list includes an identifier of the first application, and determine that the first application is an application implementing a public characteristic function when the public characteristic function list includes the identifier of the first application; or reading a first attribute of the first application, where the first attribute is used to indicate whether the first application is an application that implements a common feature function, and determining that the first application is an application that implements a common feature function when the first attribute indicates that the first application is an application that implements a common feature function.
  20. The terminal device according to any of claims 17 to 19,
    the processor is further used for starting a second application; and creating a path class loader of the second application; setting a parent class loader of the path class loader as the system class loader when the second application is the application calling the first application in the terminal device; and loading the second application to the memory by using the system class loader.
  21. The terminal device according to any of claims 17 to 20, wherein the terminal device further comprises a transmitter and a receiver;
    the server is used for sending an upgrade patch request message to a server, wherein the upgrade patch request message is used for requesting an upgrade patch package to the server, the upgrade patch package is used for directly upgrading a third application at a member granularity, and the third application is a system application in the terminal equipment;
    the receiver is configured to receive the upgrade patch package sent by the server after the transmitter sends the upgrade patch request message to the server;
    the processor is further configured to directly upgrade the third application at a member granularity using the upgrade patch package received by the receiver.
  22. The terminal device of claim 21,
    the upgrade patch package comprises at least one resource and at least one identifier, each identifier is used for uniquely identifying one resource, the at least one resource comprises at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the third application, and the second resource is a newly added resource of the third application.
  23. A terminal device comprising a transmitter, a receiver, a processor, a memory coupled with the processor, and one or more computer programs stored in the memory, the one or more computer programs comprising computer instructions that, when executed by the processor,
    the server is used for sending an upgrade patch request message to a server, wherein the upgrade patch request message is used for requesting an upgrade patch package to the server, the upgrade patch package is used for directly upgrading application at the member granularity, and the application is system application in the terminal equipment;
    the receiver is configured to receive the upgrade patch package sent by the server after the transmitter sends the upgrade patch request message to the server;
    the processor is configured to directly upgrade the application at a member granularity using the upgrade patch package received by the receiver.
  24. The terminal device of claim 23,
    the upgrade patch package comprises at least one resource and at least one identifier, each identifier is used for uniquely identifying one resource, the at least one resource comprises at least one of a first resource and a second resource, the first resource is used for repairing an original resource of the application, and the second resource is a newly added resource of the application.
  25. A computer-readable storage medium comprising computer instructions which, when run on a terminal device, cause the terminal device to perform the method of any one of claims 1 to 8.
  26. A computer program product comprising computer instructions, which, when run on a terminal device, causes the terminal device to perform the method of any one of claims 1 to 8.
CN201780094776.6A 2017-10-09 2017-10-13 Application loading method and terminal equipment Active CN111095199B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111165107.8A CN114020291A (en) 2017-10-09 2017-10-13 Method for loading application and upgrading application and terminal equipment

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710931606 2017-10-09
CN2017109316060 2017-10-09
PCT/CN2017/106170 WO2019071609A1 (en) 2017-10-09 2017-10-13 Method and terminal device for loading application and upgrading application

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111165107.8A Division CN114020291A (en) 2017-10-09 2017-10-13 Method for loading application and upgrading application and terminal equipment

Publications (2)

Publication Number Publication Date
CN111095199A true CN111095199A (en) 2020-05-01
CN111095199B CN111095199B (en) 2021-10-01

Family

ID=66101225

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780094776.6A Active CN111095199B (en) 2017-10-09 2017-10-13 Application loading method and terminal equipment
CN202111165107.8A Pending CN114020291A (en) 2017-10-09 2017-10-13 Method for loading application and upgrading application and terminal equipment

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111165107.8A Pending CN114020291A (en) 2017-10-09 2017-10-13 Method for loading application and upgrading application and terminal equipment

Country Status (2)

Country Link
CN (2) CN111095199B (en)
WO (1) WO2019071609A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463109A (en) * 2021-01-18 2021-03-09 周子涵 Method, device and system for realizing voice time telling of intelligent terminal

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110308922B (en) * 2019-06-27 2023-04-18 百度在线网络技术(北京)有限公司 Data transmission method, device, equipment and storage medium
CN112416300A (en) * 2019-08-20 2021-02-26 阿里巴巴集团控股有限公司 Application program installation package generation method and device and electronic equipment
CN113934440A (en) * 2020-06-29 2022-01-14 百度在线网络技术(北京)有限公司 Upgrading method and device, electronic equipment and storage medium
CN111880825B (en) * 2020-07-24 2022-06-10 北京浪潮数据技术有限公司 Firmware upgrading method and device, electronic equipment and storage medium
CN112988424B (en) * 2021-03-22 2024-02-27 广州虎牙科技有限公司 Independent process access realization method and device, electronic equipment and readable storage medium
CN113778492B (en) * 2021-09-17 2023-11-10 中国移动通信集团陕西有限公司 Method, device, equipment and storage medium for issuing capability API

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191790A1 (en) * 2010-02-04 2011-08-04 Samsung Electronics Co., Ltd. Method and apparatus for generating user adaptive application in mobile terminal
CN103283209A (en) * 2011-04-18 2013-09-04 北京新媒传信科技有限公司 Application service platform system and implementation method thereof
CN106066805A (en) * 2016-05-31 2016-11-02 宇龙计算机通信科技(深圳)有限公司 Method, device and the terminal that a kind of end application starts
CN106126269A (en) * 2016-06-07 2016-11-16 中国建设银行股份有限公司 application update method, device, system and application design method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516469B2 (en) * 2005-07-25 2013-08-20 Flexera Software Llc Function binding method and system
CN103428344A (en) * 2012-05-17 2013-12-04 上海闻泰电子科技有限公司 Method for achieving standby running in feature phone dynamic loading program
CN104077266B (en) * 2013-03-27 2017-07-07 华为技术有限公司 Many kernel operating system implementation methods and realize apparatus and system
CN105138364B (en) * 2015-08-21 2019-03-01 Oppo广东移动通信有限公司 A kind of method and device of terminal system upgrading
CN106681749B (en) * 2015-11-11 2021-01-05 腾讯科技(深圳)有限公司 Local code patch updating method and device based on android platform
CN106502725B (en) * 2016-09-30 2019-08-20 歌尔科技有限公司 Upgrade method, equipment and the electronic equipment of application program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191790A1 (en) * 2010-02-04 2011-08-04 Samsung Electronics Co., Ltd. Method and apparatus for generating user adaptive application in mobile terminal
CN103283209A (en) * 2011-04-18 2013-09-04 北京新媒传信科技有限公司 Application service platform system and implementation method thereof
CN106066805A (en) * 2016-05-31 2016-11-02 宇龙计算机通信科技(深圳)有限公司 Method, device and the terminal that a kind of end application starts
CN106126269A (en) * 2016-06-07 2016-11-16 中国建设银行股份有限公司 application update method, device, system and application design method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ASPOOK: "Java类加载器及Android类加载器基础", 《HTTPS://BLOG.CSDN.NET/AHENCE/ARTICLE/DETAILS/60757253》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463109A (en) * 2021-01-18 2021-03-09 周子涵 Method, device and system for realizing voice time telling of intelligent terminal

Also Published As

Publication number Publication date
WO2019071609A1 (en) 2019-04-18
CN111095199B (en) 2021-10-01
CN114020291A (en) 2022-02-08

Similar Documents

Publication Publication Date Title
CN111095199B (en) Application loading method and terminal equipment
US11910192B2 (en) Device identifier access method and apparatus
CN110869907B (en) Method and terminal for browsing application page
US20040158829A1 (en) Downloading application software to a mobile terminal
CN106502703B (en) Function calling method and device
KR20090115168A (en) Method of loading software in mobile and desktop environments
US20230421616A1 (en) Queryless device configuration determination-based techniques for mobile device management
US8990929B2 (en) Auditing application activities
US9588757B2 (en) Data update method, user terminal, and data update system
CN109543400A (en) A kind of method and apparatus of dynamic management core nodes
US20220255639A1 (en) Radio frequency parameter processing method and device, and mobile terminal and storage medium
CN103713943A (en) Native terminal operating system based application function realization method and device
CN104699501A (en) Method and device for running application program
CN106713608A (en) Application function state modifying method and apparatus, and terminal
CN103607431B (en) Mobile terminal resource processing method, device and equipment
KR20090113372A (en) Method of identifying devices in mobile and desktop environments
CN106933636B (en) Method and device for starting plug-in service and terminal equipment
CN106899959B (en) Method, device, terminal and system for obtaining SIM card information
CN107463395B (en) Component calling method and device
CN104951324A (en) Method and device for acquiring application calling relation table
CN110753909B (en) Service scheduling method and device, computer equipment and computer readable storage medium
CN106933626B (en) Application association method and device
CN106445594B (en) System application installation method and device and terminal equipment
US20230274036A1 (en) Data reading method, storage medium, and mobile terminal
CN114564700A (en) Method and related device for managing communication of untrusted application programs

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