Application management method and related device

By determining the module interface allowed to be called in the card rendering service, the problem of card rendering service not having to load all modules when rendering card components is solved, and fine control and security improvement of module loading is achieved.

CN120179304APending Publication Date: 2025-06-20HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311756393.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-19
Publication Date
2025-06-20

AI Technical Summary

Technical Problem

Card rendering service may not require the functions of all modules when rendering card components, resulting in the impact of terminal power consumption and security.

Method used

By determining the calling interface of the module allowed to be called by the card rendering service, the interface-level call control is implemented to avoid excessive loading of modules.

Benefits of technology

It realizes fine control of module loading, reduces power consumption and security risks, and meets the diverse user interface call restrictions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120179304A_ABST
    Figure CN120179304A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an application management method and a related device, and the method comprises the steps: requesting to load a target module when a card rendering service (FRS) renders a card corresponding to an application of a terminal, loading the target module based on a loading request initiated by the FRS, and determining a first target call interface set, the first target calling interface set comprises at least one calling interface allowing the FRS to call in the target module; by determining the calling interface which can be called by the FRS in the module in the process of loading the module by the FRS, the function of the module which can be used by the FRS is limited, so that the interface calling strategy of the FRS is managed and controlled from the interface level of the module, and finer management of the management and control strategy of the FRS is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of terminals, and in particular, to an application management method and related devices. Background Art

[0002] There are many application programs in a terminal, such as a weather application for querying weather information, a camera application for providing a photographing function, and a card rendering service (FormRenderService, FRS) for rendering a card component of a service card of the terminal. Among them, the service card, as a quick service provided by an intelligent service assistant, can display more content than an application icon; when the card component is in use (for example, during the process of adding a card), it is necessary to run the application of the card provider. For example, when the card rendering service renders a weather card, it needs to run the weather application, and during the running process of the weather application, it is necessary to load multiple modules, such as an internationalization module, a Global Positioning System (GPS) module, etc.

[0003] However, during the process of the card rendering service rendering the card component, it does not necessarily require all the functions of the modules corresponding to the card provider application, nor does it necessarily require all the functions of each module. For example, the internationalization module includes multiple functions such as obtaining the current time format, setting the time format, and obtaining the date format, and may only require the function of obtaining the current time format; if the card rendering service is not restricted in the functions obtained during the process of rendering the card component, it will affect the power consumption and security of the terminal. Summary of the Invention

[0004] This application provides an application management method and related devices. When the card rendering service FRS renders a card corresponding to an application of the terminal, it is necessary to load modules of the terminal. By determining the call interfaces of the modules allowed to be called by the FRS, interface-level call control over the FRS is achieved. That is, it can avoid excessive abuse of modules, affecting the security and power consumption of the terminal, and at the same time achieve fine control at the interface level.

[0005] To achieve the above object, this application adopts the following technical solutions:

[0006] In a first aspect, an application management method is provided, which is applied to a terminal. The method includes: rendering, by a card rendering service (FRS), a first card corresponding to a first application of the terminal; receiving a loading request from the FRS, where the loading request is used to request loading of a first target module, and the first loading request is formed when the FRS renders a card corresponding to an application of the terminal; loading the first target module based on the loading request and determining a first target call interface set, where the first target call interface set includes at least one call interface in the first target module that is allowed to be called by the application.

[0007] In this way, a loading request is formed when the FRS renders a card corresponding to an application of the terminal. The first target module is loaded based on the loading request of the application, and a target call interface set and call interfaces not allowed to be called by the FRS in the first target module are determined. The target call interface set includes at least one call interface in the first target module that is allowed to be called by the FRS, so that the FRS can call the call interfaces in the module that are allowed to be called by the FRS. Since a module supports multiple call interfaces and each call interface supports a specific function, by determining the call interfaces allowed to be called by the FRS, the loading of the module is controlled with the interface as the control unit, achieving more refined interface call control and meeting the configuration requirements of users' diverse FRS interface call restrictions. By controlling the module loading of the FRS, the risk of excessive module loading can also be reduced.

[0008] Among them, the control strategy for the FRS can be implemented through pre-configured configuration information or based on the restriction information carried in the FRS loading request. Here, the control strategy can be the interfaces that the FRS can call or the functions that the FRS can use (or obtain).

[0009] In some embodiments, the loading the first target module based on the loading request and determining the first target call interface set includes: obtaining first configuration information of the FRS; loading the first target module based on the loading request and determining the first target call interface set according to the first configuration information.

[0010] In this way, the control strategy of the FRS is pre-configured through configuration information. When the FRS requests to load a module, targeted interface call restrictions are imposed on the FRS according to the configuration information corresponding to the FRS, so as to achieve more refined control over the functions that the FRS can obtain.

[0011] In some embodiments, the first configuration information is the configuration information corresponding to the FRS in a first scenario, and the first scenario includes at least one of the operating state of the FRS, the working mode of the terminal, the operating time period of the terminal, and the number of times the first target module is called by the FRS; the method further includes: when the scenario corresponding to the FRS changes to a second scenario, obtaining the second configuration information corresponding to the FRS in the second scenario; reloading the first target module, and determining a second target call interface set according to the second configuration information, where the second target call interface set includes call interfaces that allow the FRS to call in the second scenario among at least one call interface of the first target module.

[0012] The FRS of the terminal has multiple scenarios. The scenario can be the state of the FRS itself. For example, the FRS is a foreground application or the FRS is a background application; the scenario can also be the working mode of the terminal. For example, the terminal is in the normal mode or the terminal is in the flight mode; the scenario can also be different time periods of the terminal. For example, from 7:00 am to 9:00 pm, from 12:00 pm to 5:00 am. The scenario of the FRS can also be the limit of the number of calls of the first target module. For example, the FRS is allowed to call the internationalization module 2 times within 24 hours; the configuration information corresponding to different scenarios of the FRS may be different, that is, the scenarios corresponding to the FRS are different, and the corresponding control policies of the FRS are also different. If the scenario corresponding to the FRS changes, obtain the configuration information corresponding to the current scenario (or the changed scenario) of the FRS, and reload the first target module according to the configuration information corresponding to the current scenario. Since the control policies of the FRS may be different in different scenarios, after the scenario of the FRS changes, reload the module according to the current scenario to realize real-time control of the control policy of the FRS according to the change of the scenario of the FRS.

[0013] In some embodiments, after receiving the first loading request of the FRS, the method further includes: determining a replacement module corresponding to the first target module according to the first configuration information, and loading the replacement module. In this way, by pre-configuring the replacement module of each module in the configuration information, when the FRS requests to load the module, the loading of the replacement module can be executed according to the configuration information. The replacement module can be a mock module or any module specified by the user, so as to realize the adjustment or replacement of the loading of each module according to the actual needs of the user.

[0014] In some embodiments, determining the first target call interface set according to the first configuration information includes: receiving the call interfaces of the first target module sent by the first target module; determining the first target call interface set in the call interfaces of the first target module according to the first configuration information. The terminal filters the call interfaces of the first target module according to the first configuration information to determine the call interfaces in the call interfaces of the first target module that allow the FRS to call and the call interfaces that do not allow the FRS to call.

[0015] In some embodiments, determining the first target call interface set according to the first configuration information includes: determining the control policy of the FRS for the first target module according to the first configuration information; sending the control policy to the first target module; obtaining the exported objects of the first target module, where the exported objects are determined by the first target module according to the control policy, and the exported objects include the first target call interface set. Filter the call interfaces through the loaded module to determine the call interfaces in the call interfaces that allow the FRS to call.

[0016] In some embodiments, after determining the second target call interface set according to the second configuration information, the method further includes: obtaining the transition data of the first target module loaded by the FRS in the first scenario; importing the transition data to the first target module loaded by the FRS in the second scenario. In this way, after the module management loads the first target module according to the first configuration information, due to the user's operation or the processing of the first target module itself, transition data is obtained. The transition data can be some temporary files or some user data. By sending the transition data to the reloaded first target module or importing the excessive data to the reloaded first target module, the reloaded first target module can use the transition data, or the user or the FRS can use the transition data through the first target module.

[0017] In some embodiments, before reloading the first target module, the method further includes: determining whether the control policies of the application for the first target module in the first configuration information and the second configuration information are the same; when the control policies of the FRS for the first target module in the first configuration information and the second configuration information are different, reloading the first target module. Before reloading the first target module, determine whether the control policy of the FRS for the first target module changes before and after the scenario change. If the control policy of the FRS for the first target module is the same before and after the scenario change, there is no need to reload the first target module.

[0018] In some embodiments, before loading the first target module based on the loading request, the method further includes: determining whether to allow the FRS to load the first target module according to the first configuration information; if allowing the FRS to load the first target module, then performing the loading of the first target module based on the loading request.

[0019] In some embodiments, obtaining the first configuration information of the FRS includes: querying a module loading checker to determine whether to allow the FRS to load a first target module, where the module loading checker is generated based on a configuration file of the application; obtaining a query result, and if allowing the FRS to load the first target module, the query result carries the first configuration information.

[0020] In some embodiments, the first configuration information describes the control policy of the FRS for the first target module, and the configuration file describes the control policy of the FRS for the modules of the terminal.

[0021] In some embodiments, after loading the first target module based on the loading request and determining the first target call interface set, the method further includes: deleting the call interfaces in the target call interface set that are not allowed to be called by the FRS, or replacing the call interfaces in the target call interface set that are not allowed to be called by the FRS with throwing an exception. Filtering the interfaces of the first target module by deleting or replacing, etc., to determine the call interfaces in the first target module that are allowed to be called by the FRS.

[0022] In some embodiments, the method further includes: after the first target module is loaded, sending the first target call interface set to the FRS. By sending the first target call interface set to the FRS, so that the FRS can use the functions of the module by calling the callable interfaces.

[0023] In some embodiments, the method further includes: rendering, by the FRS, a second card corresponding to a first application of the terminal or a third card of a second application of the terminal, and receiving a second loading request of the FRS, where the second loading request is used to request loading of a second target module, and the loading request is formed when the FRS renders the second card corresponding to the first application of the terminal or when the FRS renders the third card of the second application of the terminal; loading the second target module based on the second loading request and determining a third target call interface set, where the third target call interface set includes call interfaces in at least one call interface of the target module that are allowed to be called by the FRS. When the FRS renders a card of an application, it needs to load a module corresponding to the application. During the rendering process of different cards of the same application or cards of different applications, the same module may need to be loaded (in this case, the second target module and the first target module are the same module of the terminal), or different modules may be needed (in this case, the second target module is different from the first target module). Due to differences in applications or cards (such as different cards of the same application), the control policy for the FRS to load modules may also be different. For example, when the FRS renders card 1 and card 2, the internationalization module needs to be loaded in both cases; however, when rendering card 1, the FRS can call call interfaces corresponding to three functions of the internationalization module, namely, obtaining the current time format, setting the time format, and obtaining the date format; when rendering card 2, the FRS can call a call interface corresponding to one function of the internationalization module, namely, obtaining the current time format. Therefore, a new target call interface set needs to be determined based on the new loading request to enable real-time changes in the control policy for the FRS when rendering cards of different applications or different cards of the same application.

[0024] In a second aspect, an application management method is provided, which is applied to a terminal and includes:

[0025] The system application runs the code of the third-party application; based on the loading request of the target module by the system application, the system application loads the target module; the target module is a module that needs to be loaded for running the code of the third-party application; the system application calls a target interface in the target module; the target interface includes an interface in the target module that is allowed to be called by the code of the third-party application.

[0026] In some embodiments, the method further includes: obtaining first configuration information of the system application; and determining the target interface according to the first configuration information.

[0027] In some embodiments, the first configuration information is the configuration information corresponding to the system application in a first scenario, and the first scenario includes at least one of the running state of the system application, the working mode of the terminal, the running time period of the terminal, and the number of times the target module is allowed to be called by the system application. The running state of the system application includes that the system application is a foreground application and that the system application is a background application. The method further includes: when the scenario corresponding to the system application changes to a second scenario, obtaining the second configuration information corresponding to the system application in the second scenario; reloading the target module, and determining a second target call interface set according to the second configuration information, where the second target call interface set includes at least one call interface in the target module that allows the system application to call in the second scenario.

[0028] In some embodiments, the method further includes: determining a replacement module corresponding to the target module according to the first configuration information, and loading the replacement module.

[0029] In some embodiments, determining the first target call interface set according to the first configuration information includes: receiving the call interfaces of the target module sent by the target module; determining the first target call interface set in the call interfaces of the target module according to the first configuration information.

[0030] In some embodiments, determining the first target call interface set according to the first configuration information includes: determining the control strategy of the system application for the target module according to the first configuration information; sending the control strategy to the target module; obtaining the exported object of the target module, where the exported object is determined by the target module according to the control strategy, and the exported object includes the first target call interface set.

[0031] In some embodiments, after determining the second target call interface set according to the second configuration information, the method further includes: obtaining the transition data of the first target module loaded by the system application in the first scenario; importing the transition data into the target module loaded by the system application in the second scenario.

[0032] In some embodiments, before reloading the target module, the method further includes: determining whether the control strategies of the system application for the target module in the first configuration information and the second configuration information are the same; when the control strategies of the system application for the target module in the first configuration information and the second configuration information are different, reloading the target module.

[0033] In some embodiments, before loading the target module based on the loading request, the method further includes: determining whether to allow the system application to load the target module according to the first configuration information; when allowing the system application to load the target module, loading the target module based on the loading request.

[0034] In some embodiments, obtaining the first configuration information of the system application includes: querying a module loading checker to determine whether to allow the system application to load a target module, where the module loading checker is generated based on a configuration file of the system application; obtaining a query result, and if allowing the system application to load the first target module, the query result carries the first configuration information.

[0035] In some embodiments, the first configuration information describes a control strategy of the system application for the first target module, and the configuration file describes a control strategy of the system application for modules of the terminal.

[0036] In some embodiments, after loading the first target module based on the first loading request and determining a first target call interface set, the method further includes:

[0037] Deleting call interfaces in the target call interface set that are not allowed to be called by the system application, or setting call interfaces in the target call interface set that are not allowed to be called by the system application to throw an exception.

[0038] In some embodiments, the method further includes:

[0039] When the first target module is loaded, sending the first target call interface set to the system application. In a third aspect, a terminal is provided, including: a memory including computer-readable instructions;

[0040] A processor in communication with the memory, the processor being configured to execute the computer-readable instructions, so that the terminal executes the application management method according to any one of the first aspect or the second aspect.

[0041] In a fourth aspect, a computer-readable storage medium is provided, including a program or instructions, which when executed by a processor, implement the application management method according to any one of the first aspect or the second aspect.

[0042] In a fifth aspect, a chip is provided, including a processor configured to call and run instructions stored in a memory from the memory, so that a terminal installed with the chip executes the application management method according to any one of the first aspect or the second aspect.

[0043] The beneficial effects brought by each possible implementation manner of the application management method provided in the second aspect, the terminal provided in the third aspect, the computer-readable storage medium provided in the fourth aspect, and the chip provided in the fifth aspect of the embodiments of the present application can all be referred to the descriptions in various possible implementation manners in the first aspect, and will not be elaborated here one by one. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 FIG. is a schematic diagram of the operating principle of a service card;

[0045] Figure 2 FIG. is a schematic diagram of an application management scenario provided by an embodiment of the present application;

[0046] Figure 3 FIG. is a schematic flowchart of an application management method provided by an embodiment of the present application;

[0047] Figure 4 FIG. is a schematic flowchart of an application management method provided by an embodiment of the present application;

[0048] Figure 5 FIG. is a schematic flowchart of an application management method provided by an embodiment of the present application;

[0049] Figure 6 FIG. is a schematic flowchart of an application management method provided by an embodiment of the present application;

[0050] Figure 7 FIG. is a schematic flowchart of an application management method provided by an embodiment of the present application;

[0051] Figure 8 FIG. is a schematic structural diagram of an application management device provided by an embodiment of the present application; DETAILED DESCRIPTION OF THE EMBODIMENTS

[0052] The technical solutions in the present application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, rather than all the embodiments.

[0053] It is easy to understand that the service card of the terminal, as a quick service provided by an intelligent service assistant, can display more content than the application icon. The user can set the card corresponding to the application program on the desktop or the negative first screen, so as to facilitate the user to view more content related to the application program. For example, the weather card can display the current weather information, and the memo card can display the to-do event information or the memo event information, etc. The service card needs to start the card provider application to obtain relevant operations (such as the rendering of the service card). For example, it is necessary to pull up a third-party application related to the weather to obtain the weather information. Each time the application process is pulled up, the power consumption is large and the time delay is long. For example, when the weather service card obtains weather-related information, it is necessary to start a third-party weather application.

[0054] Figure 1 It is a schematic diagram of the operating principle of a service card. Figure 1 In it, the card user is the host application that displays the content of the service card and is used to control the position where the card is displayed in the host; the card provider is the application that provides the display content of the service card and is used to control the display content of the card, etc.; the card management service is used to manage the resident proxy service of the cards added in the system, provide the interface capabilities of the card provider (formProvider) and the card user (formHost), and at the same time provide the management and use of card objects and the ability of periodic card refresh, etc. The card rendering service (FormRenderService, hereinafter collectively referred to as FRS) is used to manage card rendering instances, and the rendering instances are bound one by one to the card components on the card user. FRS sends the rendered data to the corresponding card components of the card user. FRS is managed by the card management service. Each card component of the card user corresponds to a rendering instance in the card rendering service.

[0055] When FRS renders a card component, it needs to run the page code of the application of the card provider corresponding to the card component. During the running process of the page code of the application of the card provider, it may be necessary to load the corresponding function modules. For example, when running the page code of a map application, it is necessary to load the Global Positioning System (GPS) module, microphone module, etc. of the terminal; when running the page code of an antenna-related application, it is necessary to load the internationalization module. Since each module of the terminal has multiple functions, for example, the internationalization module includes multiple functions such as obtaining the current time format, setting the time format, obtaining the date format, etc., when FRS renders a card component, it may only need one of the functions, such as obtaining the current time format. Then, when the existing FRS loads a module, it is implemented with the module as the control unit. For example, this application can load the internationalization module but cannot load the alarm module; however, during the loading process of the module by the application (also known as the application program), the application does not need all the functions of the module. In some scenarios, the application only needs one of the functions of the module, and the existing control strategy cannot control the loading strategy of each module according to the user's needs or the actual needs of the application.

[0056] Based on the above problems, an embodiment of the present application provides an application management method. When an application loads a target module, the target module is loaded based on the application loading request of the application, and a target call interface set in the target module is determined, where the target call interface set includes at least one call interface in the target module that is allowed to be called by the application; since a module supports multiple call interfaces and each call interface supports a specific function; by determining the call interfaces allowed to be called by this application, the loading of the module is controlled with the interface as the control unit, achieving more refined interface call control and meeting the configuration requirements of users' diverse application interface call restrictions. By controlling the module loading of the application, the risk of excessive module loading can also be reduced.

[0057] It is easy to understand that the call interface here can be an exported object of the module. An application can use the functions corresponding to the module through the exported object. The exported object can be a function, a variable, etc. Among them, the function is used to execute specific tasks or operations and can receive parameters and return values. The variable may contain configuration information, constants, or other data that needs to be shared in multiple places. An application can use some functions of the module by calling the functions or variables of the module.

[0058] Please refer to Figure 2 , Figure 2 which is a schematic diagram of an application management scenario provided by an embodiment of the present application. Figure 2 The application, module management (or called module management system) and multiple modules (such as Figure 2 Module 1, Module 2, Module 3 in

[0059]

[0060] ​Optionally, the application is loaded in the target module. The application, module management, and target module can be in the same process. For example, in the rendering of the card component by FRS as described above, FRS, module management, and the internationalization module are all in the same rendering process.

[0061] Please refer to Figure 3 , Figure 3 which is a schematic flowchart of an application management method provided by an embodiment of the present application. Hereinafter, taking the module management in the application Figure 3 as an example for illustration, Figure 3 the application management method in the

[0062] includes: S301 - S302.

[0063] It is easy to understand that when FRS renders the card component of the service card, it needs to run part of the code of the application program corresponding to the card component. During the process of running part of the code of the application program, one or more modules need to be loaded. For example, when rendering the card component related to weather, part of the program of the third - party weather application is run, and during the process of running part of the program of the third - party weather application, the internationalization module and the camera module need to be loaded. Then FRS can send a loading request to the module management to load the corresponding module.

[0064] Optionally, the loading request includes the identifier of the module (such as the module name or identifier) so that the module management can identify and locate the required module based on the identifier.

[0065] S302. Load the target module based on the loading request and determine the first target call interface set. The first target call interface set includes at least one call interface in the target module that is allowed to be called by the application.

[0066] It is easy to understand that each module supports at least one function, and each function has a corresponding call interface. The application can use the function of the module by calling the corresponding call interface. For example, call the call interface for obtaining the current time format of the internationalization module to obtain the current time format of the terminal. Then the module management can determine the call interfaces allowed for the application to call and the call interfaces not allowed for the application to call from the multiple call interfaces of the target module based on the loading request.

[0067] Optionally, after the module is loaded, the call interfaces allowed for the application to call are sent to the application so that the application can call the call interfaces allowed for the application to call.

[0068] It is easy to understand that after the module management receives the loading request of the application, the module management loads the target module. The loading process may include: obtaining the location where the target module is located, and then searching for the module file according to the location where the target module is located; after finding the module file, parsing the module file, parsing the call interfaces in the module file, such as checking the definitions and references of the call interfaces, the dependency relationships between the call interfaces, etc.; and also allocating necessary memory space for the target module, and loading the code and data of the module into the corresponding memory. After the loading is completed, the module is initialized. After the initialization is completed, other applications can use the functions provided by the module by calling the call interfaces of the module. Here, by determining the call interfaces in the module that are allowed to be called by the application and the call interfaces that are not allowed to be called by the application, so that the application can call the allowed call interfaces, thereby realizing the restricted loading of the module.

[0069] In this way, when the application loads the target module, the target module is loaded based on the application loading request of the application, and the target call interface set and the call interfaces that are not allowed to be called by the application in the target module are determined. The target call interface set is the call interfaces that are allowed to be called by the application among at least one call interface of the target module, so that the application can call the call interfaces in the module that are allowed to be called by the application; since the module supports multiple call interfaces and each call interface supports a specific function; by determining the call interfaces that are allowed to be called by the application, the loading of the module is controlled with the interface as the control unit, realizing more refined control of the application interface call and meeting the diverse configuration requirements of the user for the application interface call restrictions. By controlling the module loading of the application, the risk of excessive module loading can also be reduced.

[0070] It is easy to understand that when the application requests to load the target module, the application can carry the control policy of the application for the target module in the loading request, so that the module management determines the call interfaces in the multiple call interfaces of the target module that are allowed to be called by the application according to the control policy; of course, it is also possible to pre-configure the corresponding configuration information for each application, and limit the permissions allowed and / or not allowed for the application through the configuration information. For example, FRS can load the function of obtaining the current time format of the internationalization module, but is prohibited from loading the function of modifying the time format of the internationalization. Then when the application requests to load the module, the module management obtains the first configuration information corresponding to the application, and then selects the call interfaces in the target module that are allowed to be called by the application according to the first configuration information. Each module has multiple functions, and each function has a corresponding call interface. By limiting the call interfaces that can be called by the application through the first configuration information corresponding to the application, the control policy of controlling the application to load the module with the interface as the control unit is realized. And each application has corresponding configuration information, and according to the configuration information corresponding to each application, the call of the application is restricted specifically to realize more refined control of the functions that the application can obtain.

[0071] It is easy to understand that after the module management obtains the first configuration information corresponding to the application, it can determine whether the application allows the loading of the target module based on the first configuration information. If the application does not allow the loading of the target module, the process ends, that is, there is no need to load the module. If the application allows the loading of the target module, the loading of the target module is executed, and during the loading process of the target module, the call interfaces that the application can call and the call interfaces that the application cannot call are restricted by the first configuration information corresponding to the application. It is easy to understand that the target module loading process in the embodiments of the present application is any period between receiving the loading request and loading the target module.

[0072] Optionally, if it is determined according to the first configuration information that the application does not allow the loading of the target module, there is no need to load the shared object corresponding to the target module, and a rejection message (such as an empty object) is returned to the application to reject the loading of the target module by the application.

[0073] It can be understood that the service card includes multiple types of card components, such as weather cards, map cards, etc. When FRS renders each card component, it needs to run part of the code of the corresponding application program, and each card component needs to load the corresponding module when executed. For example, the weather card needs to load the internationalization module, and the map card needs to load the location module, microphone module, etc. Therefore, in order to comprehensively restrict the available functions of FRS, the configuration file corresponding to FRS includes the control policies of multiple modules. Since FRS only renders one or more service cards each time, it is sufficient that the first configuration information includes the configuration information of the target module currently requested to be loaded by FRS. Then the module management first obtains the configuration file of the application, and the configuration file describes the control policies of the modules corresponding to the application. For example, the configuration file includes the control policies of the modules related to FRS. Then, the first configuration information corresponding to the target module is determined according to the configuration file. In this way, after the module management receives the loading request of the application, it can first obtain the configuration file corresponding to the application, and then select the control policy of the target module from the configuration file, that is, obtain the first configuration information by selection. Since the first configuration information only includes the control of the call interfaces that can be called by the target module or the control of the available functions, it is convenient to subsequently restrict the loading of the target module according to the first configuration information.

[0074] Optionally, after the module management obtains the configuration file of the application, it generates a ModuleLoadChecker according to the configuration file corresponding to the application. After the module management receives the loading request of the application, it obtains the first configuration information corresponding to the target module through the ModuleLoadChecker.

[0075] It is easy to understand that the applications of the terminal have multiple scenarios, which include at least one of the running state of the FRS, the working mode of the terminal, the running time period of the terminal, and the number of times the target module is allowed to be called by the FRS. The running state of the FRS includes that the FRS is a foreground application and the FRS is a background application. The scenario can be the running state of the application, such as the FRS running in the background, the FRS running in the foreground, or the FRS being a foreground application or a background application; the scenario can also be the working mode of the terminal, such as the terminal being in the normal mode, or the terminal being in the flight mode, or the terminal being in the power-saving mode; the scenario can also be that the terminal is in different time periods, such as 7:00 am to 9:00 pm, 12:00 pm to 5:00 am. The scenario of the application can also be the limit on the number of calls of the target module, such as the number of times the FRS is allowed to call the target module. For example, only this application is allowed to call the internationalization module 2 times within 24 hours; the configuration information corresponding to the application in different scenarios may be different, that is, the scenarios corresponding to the application are different, and the corresponding control policies of the application are also different. For example, when the FRS renders the alarm card, it can load the interfaces corresponding to the vibration function and the ringing function of the alarm module during the time period from 7:00 am to 9:00 pm; the FRS can only load the interface corresponding to the vibration function of the alarm module during the time period from 12:00 pm to 5:00 am. Then, before the module management obtains the configuration information corresponding to the application, it can first obtain the current scenario corresponding to the application, and then obtain the first configuration information corresponding to the current scenario. In this way, since the first configuration information is determined based on the current scenario of the application, and the first configuration information describes the control policy of the application in the current scenario, the call interfaces allowed to be loaded by the application in the current state are determined according to the first configuration information, so as to realize the targeted control of the call interfaces of the application according to the current scenario of the application, and thus realize the control of the functions that can be obtained corresponding to the scenario of the application when the application is in different scenarios.

[0076] In some examples, if the scenario of the application includes at least two of the running state of the FRS, the working mode of the terminal, the running time period of the terminal, and the number of times the target module is allowed to be called by the FRS; if at least one of the at least two scenarios currently corresponding to the application determines to prohibit the application from loading the target module, then the application is prohibited from loading the target module; if all of the at least two scenarios currently corresponding to the application allow the application to load the target module, then the application is allowed to load the target module.

[0077] It can be understood that since the application has multiple scenarios, each scenario has corresponding configuration information. For example, the configuration information corresponding to the current scenario of the FRS is the first configuration information, and the target module is loaded according to the first configuration information. When the FRS changes from a foreground application to a background application, the scenario corresponding to the FRS changes, and the control policy corresponding to the FRS may also change. Then, the second configuration information corresponding to the scenario after the transformation of the FRS is obtained. The second configuration information describes the control policy of the FRS after the scenario change. Module management needs to reload the target module for this application according to the second configuration information so that the loaded module corresponds to the control policy of the current scenario of the FRS. Please refer to Figure 4 , Figure 4 is a schematic flowchart of an application management method provided by an embodiment of the present application. If the first configuration information is the control policy or configuration information when the application is in the first scenario, after the loading of the target module is completed, Figure 4 the method described in

[0078] also includes: S401 - S402.

[0079] Wherein, the second scenario is different from the first scenario.

[0080] It is easy to understand that if the module management detects that the scenario of the application has changed, since the scenario of the application has changed, the control policy of the application may also change, and the configuration information corresponding to the application will also change accordingly. Then, the module management re - obtains the configuration information of the application, that is, obtains the second configuration information corresponding to the current scenario of the application.

[0081] Optionally, when the scenario of the application changes, the application can send a notification message to the module management to notify the module management that the state of the application has changed.

[0082] Optionally, the module management is also used to detect the scenario corresponding to the application. For example, it detects whether the scenario of the terminal has changed, the change of time, and the change of the state of the application itself (such as the change between the foreground application and the background application). The module management can periodically send detection messages to other applications or modules and receive the detection responses sent by the application or other modules, and judge whether the scenario corresponding to the application has changed through the detection responses.

[0083] Optionally, the module management can also monitor the scenario of the application according to the first configuration information. For example, the first configuration information carries an associated time period: 7:00 am to 9:00 pm. When the module management detects that the current time of the terminal is not within the associated time period, it determines that the scenario of the application has changed.

[0084] S402. Reload the target module and determine, according to the second configuration information, the call interfaces in the target module that allow the application to call in the second scenario.

[0085] It is easy to understand that when the configuration information of the application changes, the module management reloads the target module. During the process of reloading the target module, according to the configuration information corresponding to the current scenario (such as the second scenario), the call interfaces that allow the application to call and the call interfaces that do not allow the application to call among the multiple call interfaces in the loaded module are selected, so that the application can use the functions of the module by calling the call interfaces.

[0086] Optionally, after the reloading of the target module is completed, the module management is also used to unload the previously loaded target module (that is, the target module loaded when the application is in the first scenario).

[0087] In this way, after the target module is loaded according to the configuration information, if the scenario corresponding to the application changes, obtain the configuration information corresponding to the current scenario (or the changed scenario) of the application, and reload the target module according to the configuration information corresponding to the current scenario. Since the control policies of the application may be different in different scenarios, after the scenario of the application changes, reload the module according to the current scenario to implement real-time control of the control policy of the application according to the change of the scenario of the application.

[0088] It can be understood that for some applications, the control policies for specific modules are the same in different scenarios. Then, when it is detected that the scenario of the application changes, there is no need to reload the target module; if it is detected that the control policies corresponding to the configuration information of the application in the two scenarios before and after the change are different, the target module can be reloaded according to the new configuration information. After S401, the method further includes: determining whether the control policies of the application for the target module in the first configuration information and the second configuration information are the same; if the control policies of the application for the target module in the first configuration information and the second configuration information are the same, no processing is performed, that is, there is no need to reload the target module; if the control policies of the application for the target module in the first configuration information and the second configuration information are different, step S402 is executed.

[0089] It is easy to understand that after the module management loads the target module according to the first configuration information, due to the user's operations or the processing of the target module itself, transitional data is obtained. The transitional data can be some temporary files or some user data. After the application scenario changes, the target module is reloaded. The module management can obtain the transitional data of the previously loaded target module. For example, the transitional data can be exported from the target module loaded when the application is in the first scenario, and the transitional data is sent to the reloaded target module (or the target module loaded when the application is in the second scenario) or the transitional data is imported into the reloaded target module, so that the reloaded target module can use the transitional data, or so that the user or the application can use the transitional data through the target module.

[0090] In some embodiments, after importing the transitional data into the reloaded target module, the module management can unload the target module loaded when the application is in the first scenario.

[0091] Optionally, after the module management receives a loading request of the application, the module management performs the loading of the target module, and during the loading process of the target module, determines a first set of target call interfaces according to the first configuration information. Since each module may support multiple functions and each function has a corresponding call interface, and the application uses the functions of the module by calling the call interface, the module management side can select the call interfaces allowed to be called by the application from multiple call interfaces of the module according to the first configuration information. Then, determining the call interfaces allowed to be called by the application among the multiple call interfaces of the target module according to the first configuration information includes: the module management obtains the call interfaces of the target module and determines the call interfaces allowed to be called by the application among the call interfaces of the target module according to the first configuration information. In this way, the module management side filters multiple call interfaces of the module to select the call interfaces that can be called by the application, and by selecting the corresponding call interfaces, the functions of the module that the application can use are limited, so as to limit the functions that the application can obtain.

[0092] Exemplarily, the target module supports three functions, and each function corresponds to a call interface. Then the module management obtains the three call interfaces of the target module; then the module management determines according to the first configuration information that the application only supports calling one of the call interfaces, and limits the functions of the module used by the application by limiting the call interface called by the application.

[0093] Optionally, during the loading process of the target module, the module management can initialize the target module. By initializing the target module, an exported object of the target module is obtained. The exported object includes the call interfaces of the target module. The module management filters the exported object according to the first configuration information to determine the call interfaces that the application can load in the exported object.

[0094] Optionally, the export object obtained by the module management includes the call interfaces of the target module. The call interfaces of the target module include the call interfaces allowed for the application to call and the call interfaces not allowed for the application to call. Then, the call interfaces allowed for the application to call in the call interfaces of the target module can be determined through the first configuration information, and then the call interfaces not allowed for the application to call are deleted.

[0095] Of course, the call interfaces not allowed for the application to call in the call interfaces of the target module can also be processed in other ways. For example, the call interfaces not allowed for the application to call in the call interfaces of the target module are replaced with throwing an exception. In this way, when the application calls this interface, instead of returning the called object, an exception is thrown to handle the error, simplifying the code logic and making the processing of non-callable interfaces clearer and more unified.

[0096] Optionally, after the module management obtains the loading request of the application, the module management performs the loading of the target module. During the loading of the target module, the module management determines the control policy of the application for the target module according to the first configuration information; and sends the control policy to the target module, so that the target module determines the call interfaces allowed for the application to call and the interfaces not allowed for the application to call in the call interfaces of the target module according to the control policy. Then, the target module sends an export object to the module management, and the export object carries the call interfaces allowed for the application to call in the call interfaces of the target module. In this way, by sending the control policy of the application corresponding to the target module to the target module, the target module determines the call interfaces allowed for the application to call from multiple call interfaces of the target module according to the control policy, that is, the target module only needs to return the call interfaces corresponding to the functions allowed for the application to the module management.

[0097] In some embodiments, when the target module determines the call interfaces allowed for the application to call in the call interfaces of the target module according to the control policy, the call interfaces not allowed for the application to call can be deleted, so that the export object only includes the call interfaces allowed for the application to call. Of course, the call interfaces not allowed for the application to call in the call interfaces of the target module can also be processed in other ways. For example, the call interfaces not allowed for the application to call in the call interfaces of the target module are set to throw an exception.

[0098] It can be understood that when an application requests to load a target module, sometimes in order to simulate some virtual scenarios, the loaded module can be replaced through configuration information. For example, the application requests to load module A, but due to the control policy of the application or the test environment requirements, after the module management receives the loading request of module A from the application, the module management determines the actual module to be loaded (module B) according to the first configuration information corresponding to the application. Then the module management executes the loading of module B, and after the loading is completed, returns the call interfaces allowed for the application to call in module B to the application. After the module management obtains the first configuration information, the method further includes: determining the replacement module corresponding to the target module according to the first configuration information, and loading the replacement module. In this way, by pre-configuring the replacement module of each module in the configuration information, when the application requests to load the module, the loading of the replacement module can be executed according to the configuration information. Among them, the replacement module can be a mock module or any module specified by the user.

[0099] In some embodiments, the first configuration information may further include the control policy of the configuration module for the application in addition to the replacement module corresponding to the target module. So that when the module management executes the loading of the replacement module according to the first configuration information, the call interfaces allowed for the application to call among the multiple call interfaces of the replacement module are selected through the first configuration information.

[0100] It is easy to understand that in the applications of a terminal, each application may have multiple cards. For example, card 1 of a weather application includes weather information, and card 2 of the weather application includes weather and the current time. Different applications have different cards. When the FRS renders the cards, for the cards of different applications or different cards of the same application, the FRS may need to load different modules or the same module. For example, when rendering card 1 and card 2 of application 1 and card 3 of application 3, the FRS needs to load the GPS module. Since different applications or cards have different functions, when rendering different cards, if the FRS loads the same module, the control strategy of the FRS corresponding to this module may also be different. For example, when the FRS renders card 1 and card 2, it needs to load the internationalization module. However, when rendering card 1, the FRS can call the call interfaces corresponding to the three functions of obtaining the current time format, setting the time format, and obtaining the date format of the internationalization module. When rendering card 2, the FRS can call the call interface corresponding to the one function of obtaining the current time format of the internationalization module. Then, when the FRS triggers the rendering of other cards during the rendering process of the current card, the other cards here can be another card of the current application or a card of another application. When the FRS renders this card, a new loading request is formed to load the module corresponding to this card, and this module can be the target module or another module different from the target module. Since the control strategies of the FRS applied by the modules loaded during the rendering of different cards may be different, during the process of loading the module based on the new loading request, the module management needs to determine a new set of target call interfaces based on the new loading request, that is, the call interfaces allowed for the FRS to call in the new module. When the FRS renders the cards of an application, it needs to load the module corresponding to the application. During the rendering process of different cards of the same application or cards of different applications, it may need to load the same module or different modules. Due to the differences in applications or cards (such as different cards of the same application), the control strategies for the FRS to load modules may also be different. During the process of loading the same module, the new set of target call interfaces is different from the first set of target call interfaces in S302.

[0101] Please refer to Figure 5 , Figure 5 which is a schematic flowchart of an application management method provided by an embodiment of this application. Figure 5The middle module management includes ModuleManager. ModuleManager is used for low-level programming interfaces such as managing module loading, unloading, and event response. During the process of loading a module, ModuleLoadChecker is used to detect whether the application is allowed to load the module. When it is detected that the application is allowed to load the module, ModuleManager performs the loading of the module. ModuleLoadChecker is also used to filter the call interfaces of the module to determine the call interfaces that are allowed to be called by the application. The application management method includes the following steps:

[0102] S501. When it is detected that the application starts, ModuleManager loads the configuration file (profile) of the application. Among them, the configuration file includes the control policies of the application for some or all modules. For example, it allows the use of the function of obtaining the current time of the internationalization module.

[0103] S502. ModuleManager parses the configuration file and generates a module load checker (ModuleLoadChecker) based on the parsed configuration file. Among them, ModuleLoadChecker is used to detect the loading status of the module and handle errors during the loading process, etc.

[0104] S503. When the application needs to load a module, it sends a loading request to ModuleManager.

[0105] Exemplarily, when FRS renders the card component and executes the application program corresponding to the card component, it needs to load the modules required to execute the application program.

[0106] S504. The target module is loaded through ModuleManager. ModuleManager can obtain the location where the target module is located, and obtain the module file of the target module at the location where the target module is located; then ModuleManager parses the module file and can also allocate memory for the target module to facilitate the loading of the target module. And during the process of loading the module, ModuleManager detects whether the application is allowed to load the target module through ModuleLoadChecker.

[0107] S505. ModuleLoadChecker returns the detection result to ModuleManager;

[0108] If the detection result is that the application is not allowed to load the target module, then ModuleManager returns a rejection message (such as returning an empty message) to the application to reject the application's loading of the target module, and the process ends.

[0109] If the detection result allows the application to load the target module, the detection result further includes the control policy of the application for the target module.

[0110] S506. If the detection result allows the application to load the target module, ModuleManager loads modulelibrary. Among them, the role of loading modulelibrary is mainly to provide a unified interface to facilitate the application to access the module and perform related operations, and at the same time provide additional functions to manage the loading and use process of the module. Further, ModuleManager is also used to form the loading result of modulelibrary.

[0111] S507. ModuleManager establishes a communication mechanism with the module by calling the register callback function (registercallback) to initialize the module;

[0112] S508. The module returns an exported object to ModuleManager, and the exported object includes the call interface of the target module.

[0113] Optionally, ModuleManager can obtain the exported object of the module by calling the Init interface of the module.

[0114] S509. Filter the exported object through ModuleLoadChecker to determine the call interfaces allowed for the application to call in the exported object.

[0115] Optionally, ModuleLoadChecker determines the call interfaces allowed for the application to call in the exported object according to the first configuration information, and deletes the interfaces not allowed for the application to call.

[0116] S510. ModuleManager returns the call interfaces allowed for the application to call to the application.

[0117] In this way, when the application on the terminal needs to load a module, obtain the configuration file of the application, and detect whether the terminal allows the target module to be loaded according to the configuration file; if the application is not allowed to load the module, return a rejection message to the application; if the application is allowed to load the module, load the module, and filter the call interfaces of the module according to the first configuration file to determine the call interfaces allowed for the application to call, and send the call interfaces to the application so that the application can use the functions of the module according to the received call interfaces.

[0118] Figure 6 For the flowchart of an application management method provided by an embodiment of this application, please refer to Figure 6, when it is detected that the scenario of the application has changed, since the application is in different scenarios, the control policies of the application may be different; then after the scenario of the application has changed, the method further includes:

[0119] S601. The ModuleManager reloads the configuration file of the application.

[0120] Optionally, after detecting that the scenario of the application has changed, the ModuleManager obtains the configuration file corresponding to the current scenario of the application and reloads the configuration file.

[0121] S602. Optionally, generate a ModuleLoadChecker based on the configuration file of the application in the current scenario.

[0122] S603. Detect whether the configuration files corresponding to the application before and after the scenario change are the same. Optionally, since each application can load multiple modules and can load multiple modules simultaneously, the ModuleManager can compare whether the control policies corresponding to the modules currently loaded by the application have changed.

[0123] If the control policy of the target module currently loaded by the application has not changed before and after the scenario change, no processing is performed.

[0124] S604. If it is detected that the control policy of the target module currently loaded by the application has changed before and after the scenario change, reload the target module whose control policy has changed.

[0125] Optionally, during the loading process, determine the call interfaces allowed for the application to call in the target module according to the new configuration information, and send the call interfaces allowed for the application to call to the application.

[0126] S605. The ModuleManager requests the old module to export transition data, where the old module is the target module loaded before the scenario of the application changes;

[0127] S606. The old module exports transition data to the ModuleManager.

[0128] S607. The ModuleManager sends the transition data to the new module so as to import the transition data into the new module. The new module is the target module reloaded after the scenario of the application has changed.

[0129] S608. After the new module successfully imports the transition data, it sends a message to the ModuleManager indicating that the transition data has been successfully imported into the new module.

[0130] Furthermore, after importing the transition data into the new module, it is also used to execute the uninstallation of the old module.

[0131] Thus, after detecting a change in the application scenario, obtain the configuration file corresponding to the current application scenario; then compare whether the configuration files of the application before and after the scenario change are the same, that is, whether the control policies of the modules currently loaded by the application change before and after the scenario change; if the control policies of the modules currently loaded by the application do not change before and after the scenario change, do not process the old target; if the control policies of the modules currently loaded by the application change, reload the old modules whose control policies have changed. After the loading is completed, obtain the transition data of the old modules and import the transition data into the new modules so that the application can use the transition data through the new modules. Through the above process, the control policy of the application can be controlled in real time through the change of the application scenario.

[0132] Figure 7 Please refer to Figure 7 , Figure 7 for the flowchart of an application management method provided by an embodiment of this application. S701 to S705 in Figure 5 are the same as S501 to S505 in Figure 5 . For specific details, please refer to the description in

[0133] S701. When detecting the startup of an application, ModuleManager loads the configuration file (profile) of the application.

[0134] S702. ModuleManager parses the configuration file and generates a module load checker (ModuleLoadChecker) based on the parsed configuration file.

[0135] S703. When the application needs to load a module, send a load request to ModuleManager to load the target module through ModuleManager.

[0136] S704. During the module loading process, ModuleManager uses ModuleLoadChecker to detect whether the application is allowed to load the target module.

[0137] S705. ModuleLoadChecker returns the detection result to ModuleManager;

[0138] Among them, if the detection result is that the application is allowed to load the target module, the detection result also includes the execution of loading the replacement module based on the load request of the application.

[0139] S706. ModuleManager executes the loading of the replacement module.

[0140] S707. The ModuleManager returns the exported object of the replacement module to the application. The exported object includes the call interfaces in the replacement module that are allowed to be called by this application.

[0141] In this way, in some test scenarios or scenarios where users have specific requirements, when the application requests to load the target module, the ModuleLoadChecker generated by the module management based on the first configuration information determines that the replacement module needs to be loaded. Then, the replacement module is loaded, and the exported object of the replacement module is returned to the application so that the application can use the functions of the replacement module through the call interfaces in the exported object.

[0142] It can be understood that in the above embodiments, FRS is used as an example for the application. It can be understood that in other embodiments, the application can also be other applications of the terminal, such as the system application of the terminal. When the system application runs the code of a third-party application or runs its own code and needs to load the target module, a loading request for the target module is formed and the target module is loaded. After the target module is loaded, the target interface of the target module can be called, and the functions of the target module can be used by calling the target interface of the target module. For example, after the terminal receives a user instruction, the map application runs. Since the map application needs to load the GPS module and the microphone module when running, after the module management receives the application request of the map application, it obtains the first configuration information corresponding to the map application; determines whether the map application can load the GPS module and the microphone module according to the first configuration information; if not, a rejection message is returned to the application; if the map application is allowed to load the GPS module and the microphone module, then the loading of the GPS module and the microphone module is executed. During the loading of the GPS module and the microphone module, the interfaces in the GPS module and the microphone module that are allowed to be called by the map application are determined according to the first configuration information, and the interfaces allowed to be called by the map application are sent to the map application. In this way, after the module is loaded, the map application uses the functions of the GPS module and the microphone module by calling the allowed call interfaces. All embodiments of the present application can be implemented through any application of the terminal, that is, the control strategy of any application of the terminal can be managed through the above application management method.

[0143] It should be understood that the above is only to help those skilled in the art better understand the embodiments of the present application, rather than to limit the scope of the embodiments of the present application. Those skilled in the art can obviously make various equivalent modifications or changes according to the above examples. For example, some steps in the above methods may not be necessary, or some steps may be newly added, etc. Or any combination of any two or any more of the above embodiments. The solutions after such modifications, changes or combinations also fall within the scope of the embodiments of the present application.

[0144] It should also be understood that the manners, situations, categories, and the division of embodiments in the embodiments of the present application are only for the convenience of description and should not constitute a special limitation. The features in various manners, categories, situations, and embodiments can be combined without conflict.

[0145] It should also be understood that the various numerical numbers involved in the embodiments of the present application are only for the convenience of distinction in description and do not limit the scope of the embodiments of the present application. The magnitude of the sequence numbers of the above processes does not mean the sequence of execution. The execution sequence of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

[0146] It should also be understood that the above description of the embodiments of the present application focuses on emphasizing the differences between the embodiments. The same or similar parts not mentioned can be referred to each other. For the sake of brevity, they are not elaborated here.

[0147] The above combination Figures 1 - 7 describes the embodiments of the method and system provided by the embodiments of the present application. Next, the module management on the terminal or the terminal side provided by the embodiments of the present application is described.

[0148] In this embodiment, the terminal can be divided into functional modules according to the above method. For example, it can be divided into various functional modules corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware. It should be noted that the division of modules in this embodiment is illustrative and is only a logical function division. There can be other division methods in actual implementation.

[0149] It should be noted that the relevant content of each step involved in the above method embodiment can be cited in the function description of the corresponding functional module, and will not be elaborated here.

[0150] The terminal provided by the embodiments of the present application is used to execute the application management method provided by the above method embodiment, and thus can achieve the same effect as the above implementation method.

[0151] In other embodiments, in the case of adopting an integrated unit, the terminal may include a processing module, a storage module, and a communication module. Among them, the processing module can be used to control and manage the actions of the terminal. For example, it can be used to support the terminal to execute the steps executed by the processing unit. The storage module can be used to support the storage of program codes and data, etc. The communication module can be used to support the communication between the terminal and other devices.

[0152] Among them, the processing module can be a processor or a controller. It can implement or execute various exemplary logical blocks, modules, and circuits described in combination with the disclosure of this application. The processor can also be a combination of computing functions, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, and so on. The storage module can be a memory. The communication module can specifically be a device for interacting with other terminals, such as a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, etc.

[0153] Based on the same concept, an embodiment of this application also provides a terminal. Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of the terminal provided by the embodiment of this application.

[0154] First, the terminal (i.e., the first terminal or the second terminal) involved in the embodiment of this application will be introduced below. Please refer to Figure 4 , Figure 4 which shows a schematic structural diagram of the terminal 800.

[0155] The terminal 800 may include a processor 810, an external memory interface 820, an internal memory 821, a universal serial bus (USB) interface 830, a charging management module 840, a power management module 841, a battery 842, an antenna 1, an antenna 2, a mobile communication module 850, a wireless communication module 860, a sensor module 870, a key 880, and a display screen 890, etc. Among them, the sensor module 870 may include a pressure sensor 870A, a gyroscope sensor 870B, an acceleration sensor 870C, a temperature sensor 870D, a touch sensor 870E, and so on.

[0156] It can be understood that the structure schematically shown in the embodiment of this application does not constitute a specific limitation on the terminal 800. In other embodiments of this application, the terminal 800 may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The components shown in the figure can be implemented in hardware, software, or a combination of software and hardware.

[0157] The processor 810 may include one or more processing units. For example, the processor 810 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.

[0158] The controller may generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.

[0159] A memory may also be provided in the processor 810 for storing instructions and data. In some embodiments, the memory in the processor 810 is a cache memory. This memory may save the instructions or data that the processor 810 has just used or recycled. If the processor 810 needs to use the instruction or data again, it can directly call it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 810, and thus improves the efficiency of the system.

[0160] In some embodiments, the processor 810 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0161] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 810 may include multiple groups of I2C buses. The processor 810 can be respectively coupled to the touch sensor 870E, charger, etc. through different I2C bus interfaces. For example, the processor 810 can be coupled to the touch sensor 870E through the I2C interface, enabling the processor 810 and the touch sensor 870E to communicate through the I2C bus interface to implement the touch function of the terminal 800.

[0162] The UART interface is a general-purpose serial data bus for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is usually used to connect the processor 810 and the wireless communication module 860. For example, the processor 810 communicates with the Bluetooth module in the wireless communication module 860 through the UART interface to implement the Bluetooth function. The MIPI interface can be used to connect the processor 810 and peripheral devices such as the display screen 890. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 810 and the display screen 890 communicate through the DSI interface to implement the display function of the terminal 800.

[0163] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 810 to the display screen 890, the wireless communication module 860, the sensor module 870, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0164] The USB interface 830 is an interface that conforms to the USB standard specification, specifically it can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 830 can be used to connect a charger to charge the terminal 800, and can also be used to transfer data between the terminal 800 and peripheral devices. It can also be used to connect headphones to play audio through the headphones. This interface can also be used to connect other terminals, such as AR devices, etc.

[0165] It can be understood that the interface connection relationships among the modules illustrated in the embodiments of the present application are only illustrative descriptions and do not constitute a structural limitation on the terminal 800. In other embodiments of the present application, the terminal 800 may also adopt different interface connection manners in the above embodiments, or a combination of multiple interface connection manners.

[0166] The charging management module 840 is used to receive a charging input from a charger. Among them, the charger may be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module 840 may receive the charging input of the wired charger through the USB interface 830. In some embodiments of wireless charging, the charging management module 840 may receive the wireless charging input through the wireless charging coil of the terminal 800. While charging the battery 842, the charging management module 840 may also supply power to the terminal through the power management module 841.

[0167] The power management module 841 is used to connect the battery 842, the charging management module 840, and the processor 810. The power management module 841 receives the inputs from the battery 842 and / or the charging management module 840 and supplies power to the processor 810, the internal memory 821, the display screen 890, the wireless communication module 860, etc. The power management module 841 may also be used to monitor parameters such as the battery capacity, the number of battery cycles, and the battery health status (leakage, impedance). In some other embodiments, the power management module 841 may also be disposed in the processor 810. In some other embodiments, the power management module 841 and the charging management module 840 may also be disposed in the same device.

[0168] The wireless communication function of the terminal 800 may be implemented through the antenna 1, the antenna 2, the mobile communication module 850, the wireless communication module 860, the modulation and demodulation processor, and the baseband processor, etc.

[0169] The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the terminal 800 may be used to cover a single or multiple communication frequency bands. Different antennas may also be multiplexed to improve the utilization rate of the antennas. For example: The antenna 1 may be multiplexed as the diversity antenna of the wireless local area network. In some other embodiments, the antenna may be used in combination with a tuning switch.

[0170] The mobile communication module 850 can provide solutions for wireless communications such as 2G / 3G / 4G / 5G applied to the terminal 800. The mobile communication module 850 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 850 can receive electromagnetic waves through antenna 1, filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 850 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves through antenna 1 and radiate it out. In some embodiments, at least some functional modules of the mobile communication module 850 may be provided in the processor 810. In some embodiments, at least some functional modules of the mobile communication module 850 and at least some modules of the processor 810 may be provided in the same device.

[0171] The modulation and demodulation processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. Subsequently, the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor displays images or videos through the display screen 890. In some embodiments, the modulation and demodulation processor may be an independent device. In other embodiments, the modulation and demodulation processor may be independent of the processor 810 and be provided in the same device as the mobile communication module 850 or other functional modules.

[0172] The wireless communication module 860 can provide solutions for wireless communications such as wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (IR), etc. applied to the terminal 800. The wireless communication module 860 may be one or more devices integrating at least one communication processing module. The wireless communication module 860 receives electromagnetic waves through antenna 2, frequency-modulates and filters the electromagnetic wave signals, and transmits the processed signals to the processor 810. The wireless communication module 860 can also receive the signal to be transmitted from the processor 810, frequency-modulate and amplify it, and convert it into electromagnetic waves through antenna 2 and radiate it out.

[0173] In some embodiments, antenna 1 of terminal 800 is coupled to mobile communication module 850, and antenna 2 is coupled to wireless communication module 860, enabling terminal 800 to communicate with the network and other devices via wireless communication technologies. The wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS), and / or satellite based augmentation systems (SBAS).

[0174] Terminal 800 implements the display function through the GPU, display screen 890, and application processor, etc. The GPU is a microprocessor for image processing, connected to display screen 890 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 810 may include one or more GPUs, which execute program instructions to generate or change display information.

[0175] The display screen 890 is used to display images, videos, etc. The display screen 890 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal 800 may include one or N display screens 890, where N is a positive integer greater than 1.

[0176] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the terminal 800 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.

[0177] The video codec is used to compress or decompress digital videos. The terminal 800 can support one or more video codecs. In this way, the terminal 800 can play or record videos in multiple coding formats, such as: Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0178] The NPU is a neural-network (NN) computing processor. By learning from the structure of biological neural networks, such as learning from the transmission mode between human brain neurons, it can quickly process input information and can also continuously self-learn. Through the NPU, applications such as intelligent cognition of the terminal 800 can be realized, such as: image recognition, face recognition, voice recognition, text understanding, etc.

[0179] The external memory interface 820 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal 800. The external memory card communicates with the processor 810 through the external memory interface 820 to achieve the data storage function. For example, save files such as videos in the external memory card.

[0180] The internal memory 821 can be used to store computer-executable program codes, and the executable program codes include instructions. The internal memory 821 can include a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as an image playback function, etc.). The data storage area can store data created during the use of the terminal 800 (such as a phone book, etc.). In addition, the internal memory 821 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 810 executes various functional applications and data processing of the terminal 800 by running the instructions stored in the internal memory 821 and / or the instructions stored in the memory provided in the processor.

[0181] The pressure sensor 870A is used to sense a pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 870A can be disposed on the display screen 890. There are many types of pressure sensors 870A, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, etc. The capacitive pressure sensor can include at least two parallel plates with conductive materials. When a force acts on the pressure sensor 870A, the capacitance between the electrodes changes. The terminal 800 determines the intensity of the pressure according to the change in capacitance. When a touch operation acts on the display screen 890, the terminal 800 detects the intensity of the touch operation according to the pressure sensor 870A. The terminal 800 can also calculate the position of the touch according to the detection signal of the pressure sensor 870A. In some embodiments, touch operations with the same touch position but different touch operation intensities can correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, the instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, the instruction to create a new short message is executed.

[0182] The gyroscope sensor 870B can be used to determine the motion posture of the terminal 800. In some embodiments, the angular velocity of the terminal 800 around three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 870B. The gyroscope sensor 870B can be used for navigation and somatosensory game scenarios.

[0183] The acceleration sensor 870C can detect the magnitude of the acceleration of the terminal 800 in various directions (generally three axes). When the terminal 800 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the terminal and is applied to functions such as horizontal and vertical screen switching and a pedometer.

[0184] The temperature sensor 870D is used to detect temperature. In some embodiments, the terminal 800 utilizes the temperature detected by the temperature sensor 870D to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 870D exceeds a threshold, the terminal 800 reduces the performance of the processor near the temperature sensor 870D in order to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the terminal 800 heats the battery 842 to prevent abnormal shutdown of the terminal 800 caused by low temperature. In still other embodiments, when the temperature is lower than yet another threshold, the terminal 800 boosts the output voltage of the battery 842 to avoid abnormal shutdown caused by low temperature.

[0185] The touch sensor 870E, also known as a "touch control device". The touch sensor 870E can be disposed on the display screen 890, and together with the display screen 890, they form a touch screen, also known as a "touch control screen". The touch sensor 870E is used to detect touch operations acting on it or nearby. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 890. In other embodiments, the touch sensor 870E can also be disposed on the surface of the terminal 800, at a different position from the display screen 890.

[0186] The keys 880 include a power-on key, volume keys, etc. The keys 880 can be mechanical keys or touch keys. The terminal 800 can receive key inputs and generate key signal inputs related to the user settings and function control of the terminal 800.

[0187] The software system of the terminal 800 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservices architecture, or cloud architecture. For example, the software system of the terminal 800 can adopt a layered architecture such as the Android operating system (OS), Harmony OS, or IOS. In this application embodiment, taking the Android system with a layered architecture as an example, the software structure of the terminal 800 is illustrated by way of example.

[0188] The terminal provided in this embodiment can execute the above method embodiments, and its implementation principle and technical effects are similar, so they will not be elaborated here.

[0189] This application embodiment also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements the method described in the above method embodiments.

[0190] This application embodiment also provides a computer program product. When the computer program product runs on the terminal, it enables the terminal to execute the method described in the above method embodiments.

[0191] An embodiment of the present application provides a chip, including a processor for calling and running instructions stored in a memory, so that a communication device installed with the chip executes the method described in any of the above-mentioned method embodiments of the terminal provided by the embodiment of the present application.

[0192] An embodiment of the present application further provides a chip system, including a processor, where the processor is coupled to a memory, and the processor executes a computer program stored in the memory to implement the method described in the above-mentioned method embodiment. Among them, the chip system may be a single chip or a chip module composed of multiple chips.

[0193] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can 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 the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)).

[0194] Those of ordinary skill in the art can understand all or part of the processes in the above-mentioned method embodiments. These processes can be completed by relevant hardware instructed by a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it may include the processes of the above-mentioned method embodiments. The aforementioned storage medium may include: ROM or random access memory RAM, magnetic disks, or optical discs and other media that can store program codes.

[0195] The naming or numbering of steps appearing in this application does not mean that the steps in the method flow must be executed in the chronological / logical order indicated by the naming or numbering. The named or numbered process steps can be changed in the order of execution according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved.

[0196] In the above embodiments, the descriptions of the respective embodiments have their own emphases. For parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0197] In the embodiments provided in this application, it should be understood that the disclosed devices / apparatuses and methods can be implemented in other ways. For example, the device / apparatus embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be in electrical, mechanical or other forms.

[0198] It should be understood that in the descriptions of the specification and the appended claims of this application, the terms "include", "comprise", "have" and any variations thereof are intended to cover non-exclusive inclusion, all meaning "including but not limited to", unless otherwise specifically emphasized in other ways. For example, a process, method, system, product or device that includes a series of steps or modules does not have to be limited to those steps or modules clearly listed, but may include other steps or modules not clearly listed or inherent to these processes, methods, products or devices.

[0199] In the description of this application, unless otherwise specified, " / " means that the objects associated before and after are in an "or" relationship. For example, A / B can represent A or B; the "and / or" in this application is used to describe the association relationship of the associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. These three situations, where A and B can be singular or plural.

[0200] Moreover, in the description of this application, unless otherwise specified, "a plurality of" means two or more than two. "At least one of the following" or its similar expressions refer to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, a - b, a - c, b - c, or a - b - c, where a, b, c can be single or multiple.

[0201] As used in the specification of this application and the appended claims, the term "if" may be construed, depending on the context, as "when", "once", "in response to determining", or "in response to detecting". Similarly, the phrase "if determined" or "if [the described condition or event] is detected" may be construed, depending on the context, to mean "once determined", "in response to determining", "once [the described condition or event] is detected", or "in response to detecting [the described condition or event]".

[0202] In addition, in the description of the specification of this application and the appended claims, the terms "first", "second", etc. are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence, nor should they be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. It should be understood that such data may be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in an order other than that illustrated or described herein; the features defined as "first" and "second" may explicitly or implicitly include at least one of such features.

[0203] In the embodiments of this application, words such as "exemplarily" or "for example" are used to indicate an example, illustration, or explanation. Any embodiment or design solution described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplarily" or "for example" is intended to present relevant concepts in a specific manner.

[0204] The reference to "one embodiment" or "some embodiments" etc. described in the specification of this application means that a specific feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of this application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways.

[0205] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some or all of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. An application management method, characterized in that, Applied to a terminal, the method includes: Rendering, by a card rendering service (FRS), a first card corresponding to a first application of the terminal; Receiving a first loading request from the FRS, where the first loading request is used to request loading of a first target module; Based on the first loading request, loading the first target module and determining a first target call interface set, where the first target call interface set includes at least one call interface in the first target module that is allowed to be called by the FRS.

2. The method according to claim 1, characterized in that, The loading the first target module and determining the first target call interface set based on the first loading request includes: Obtaining first configuration information of the FRS; Loading the first target module based on the first loading request and determining the first target call interface set according to the first configuration information.

3. The method according to claim 2, characterized in that, The first configuration information is the configuration information corresponding to the FRS in a first scenario, and the first scenario includes at least one of the running state of the FRS, the working mode of the terminal, the running time period of the terminal, and the number of times the first target module is allowed to be called by the FRS; The method further includes: When the scenario corresponding to the FRS changes to a second scenario, obtaining second configuration information corresponding to the FRS in the second scenario; Reloading the first target module and determining a second target call interface set according to the second configuration information, where the second target call interface set includes at least one call interface in the first target module that allows the FRS to call in the second scenario.

4. The method according to claim 2 or 3, characterized in that, After receiving the first loading request from the FRS, the method further includes: Determining a replacement module corresponding to the first target module according to the first configuration information and loading the replacement module.

5. The method according to any one of claims 2 to 4, characterized in that, The determining the first target call interface set according to the first configuration information includes: Receiving the call interfaces of the first target module sent by the first target module; Determining the first target call interface set among the call interfaces of the first target module according to the first configuration information.

6. The method according to any one of claims 2 to 4, characterized in that, The determining the first target call interface set according to the first configuration information includes: Determining a control policy of the FRS for the first target module according to the first configuration information; Sending the control policy to the first target module; Obtaining an exported object of the first target module, where the exported object is determined by the first target module according to the control policy, and the exported object includes the first target call interface set.

7. The method according to claim 3, characterized in that, After determining the second target call interface set according to the second configuration information, the method further includes: Obtaining transition data of the first target module loaded by the FRS in the first scenario; Importing the transition data into the first target module loaded by the FRS in the second scenario.

8. The method according to claim 3 or 7, characterized in that, Before reloading the first target module, the method further includes: Determining whether the control policies of the FRS for the first target module in the first configuration information and the second configuration information are the same; When the control policies of the FRS for the first target module in the first configuration information and the second configuration information are different, reload the first target module.

9. The method according to claim 2, characterized in that, Before loading the first target module based on the first loading request, the method further includes: Determining whether to allow the FRS to load the first target module according to the first configuration information; When allowing the FRS to load the first target module, load the first target module based on the first loading request.

10. The method according to claim 2, characterized in that, Obtaining the first configuration information of the FRS includes: Querying a module loading checker to determine whether to allow the FRS to load the first target module, where the module loading checker is generated based on the configuration file of the FRS; Obtaining a query result. If the FRS is allowed to load the first target module, the query result carries the first configuration information.

11. The method according to claim 10, characterized in that, The first configuration information describes the control policy of the FRS for the first target module, and the configuration file describes the control policy of the FRS for the modules of the terminal.

12. The method according to any one of claims 1 to 11, characterized in that, After loading the first target module based on the first loading request and determining the first target call interface set, the method further includes: Deleting the call interfaces in the target call interface set that are not allowed to be called by the FRS, or setting the call interfaces in the target call interface set that are not allowed to be called by the FRS to throw exceptions.

13. The method according to any one of claims 1 to 12, characterized in that, The method further includes: When the first target module is loaded, sending the first target call interface set to the FRS.

14. The method according to any one of claims 1 to 13, characterized in that, The method further includes: Rendering, by the FRS, a second card corresponding to a first application of the terminal or a third card of a second application of the terminal; Receiving a second loading request from the FRS, where the second loading request is used to request loading of a second target module; Loading the target module based on the second loading request and determining a third target call interface set, where the third target call interface set includes at least one call interface in the second target module that is allowed to be called by the FRS.

15. An application management method, applied to a terminal, characterized in that, The method includes: A system application runs the code of a third-party application; Based on a loading request of the system application for a target module, the system application loads the target module; the target module is a module that needs to be loaded for running the code of the third-party application; The system application calls a target interface in the target module; the target interface includes an interface in the target module that is allowed to be called by the code of the third-party application.

16. The method according to claim 15, characterized in that, The method further includes: Obtaining the first configuration information of the system application; Determining the target interface according to the first configuration information.

17. The method according to claim 16, characterized in that, The first configuration information is the configuration information corresponding to the system application in a first scenario, and the first scenario includes at least one of the running state of the system application, the working mode of the terminal, the running time period of the terminal, and the number of times the target module is allowed to be called by the system application; The method further includes: When the scenario corresponding to the system application changes to a second scenario, obtaining second configuration information corresponding to the system application in the second scenario; Reload the target module, and determine a second target call interface set according to the second configuration information, where the second target call interface set includes at least one call interface in the target module that allows the system application to call in the second scenario.

18. The method according to claim 16 or 17, characterized in that, The method further includes: Determine a replacement module corresponding to the target module according to the first configuration information, and load the replacement module.

19. A terminal, characterized in that, It includes: A memory, where the memory includes computer-readable instructions; A processor communicatively coupled to the memory, where the processor is configured to execute the computer-readable instructions such that the terminal executes the application management method according to any one of claims 1-14 or the application management method according to any one of claims 15-18.

20. A computer-readable storage medium, characterized in that, It includes a program or instructions that, when executed by a processor, implement the application management method according to any one of claims 1-14 or the application management method according to any one of claims 15-18.

21. A chip, characterized in that,It includes a processor configured to call and run instructions stored in a memory from the memory such that a terminal installed with the chip executes the application management method according to any one of claims 1-14 or the application management method according to any one of claims 15-18.