Application program management method and device, medium, electronic equipment and program product

By obtaining the application's historical crash information, determining the startup type and calling the corresponding startup subroutine, the problem of frequent crashes of the application is solved and the user experience and retention is improved.

CN119127548APending Publication Date: 2024-12-13BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411224405.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Frequent crashes of applications affect user experience. How to effectively handle crashes to improve user retention.

Method used

By responding to application startup instructions, obtain historical crash information, determine the startup type, and call the corresponding startup subroutine to enable different functions in the target application to adapt to the crash situation and reduce the impact of crashes.

Benefits of technology

Effectively respond to crash problems, improve user experience, reduce the impact of crashes on applications, and enhance user retention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127548A_ABST
    Figure CN119127548A_ABST
Patent Text Reader

Abstract

The invention relates to an application program management method and device, a medium, electronic equipment and a program product, and the method comprises the steps: obtaining the historical crash information of a target application program before the current starting through responding to an application program starting instruction, determining a target starting type corresponding to the current starting based on the historical crash information, and starting the target application program according to the determined target starting type. The different starting subprograms are used for starting different functions in the target application program, by means of the method, the starting of the target application program can well adapt to the crash situation occurring in the past, the crash problem can be solved in a targeted mode, the influence of crash is reduced, and the service life of the target application program is prolonged. And the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular, to an application management method, device, medium, electronic device, and program product. Background Art

[0002] Frequent application crashes affect user experience and, in turn, user retention. How to deal with application crashes is a problem that needs to be solved. Summary of the invention

[0003] This summary is provided to introduce concepts in a brief form that will be described in detail in the detailed description below. This summary is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.

[0004] In a first aspect, the present disclosure provides an application management method, comprising: In response to the application startup instruction, obtaining historical crash information of the target application before the current startup; Determine a target startup type corresponding to the current startup based on the historical crash information; A target startup subprogram corresponding to the target startup type in the target application is called, wherein different startup subprograms are used to enable different functions in the target application.

[0005] In a second aspect, the present disclosure provides an application management device, comprising: A first acquisition module is configured to obtain historical crash information of a target application before the current startup in response to an application startup instruction; A first determination module is configured to determine a target startup type corresponding to the current startup based on the historical crash information; The calling module is configured to call a target startup subprogram in the target application corresponding to the target startup type, wherein different startup subprograms are used to enable different functions in the target application.

[0006] In a third aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the method described in the first aspect.

[0007] In a fourth aspect, the present disclosure provides an electronic device, including: a storage device having a computer program stored thereon; A processing device is used to execute the computer program in the storage device to implement the steps of the method described in the first aspect.

[0008] In a fifth aspect, the present disclosure provides a computer program product, comprising a computer program, which implements the steps of the method described in the first aspect when executed by a processing device.

[0009] Through the above technical scheme, by responding to the application startup instruction, the historical crash information of the target application before the current startup is first obtained, and then, based on the historical crash information, the target startup type corresponding to the current startup is determined, and then the target startup subroutine corresponding to the target startup type in the target application can be called to start the target application. Since the target startup subroutine in the target application can be called in a targeted manner based on the historical crash information before the current startup, and different startup subroutines are used to enable different functions in the target application, the current startup of the target application can be well adapted to previous crash situations, and the crash problem can be dealt with in a targeted manner, reducing the impact of the crash, thereby improving the user experience.

[0010] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale. In the drawings: Figure 1 is a flowchart of an application management method shown in some embodiments.

[0012] Figure 2 is a flow chart of an application management method shown in some other embodiments.

[0013] Figure 3 It is a schematic diagram of module connection of an application management device shown in some embodiments.

[0014] Figure 4 It is a schematic diagram of the structure of an electronic device shown in some embodiments. DETAILED DESCRIPTION

[0015] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0016] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0017] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0018] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0019] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0020] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0021] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0022] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0023] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0024] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0025] At the same time, it is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.

[0026] Figure 1 FIG. 1 is a flow chart of an application management method according to some embodiments. Figure 1 As shown, the embodiment of the present disclosure provides an application management method, which can be executed by an electronic device, specifically, by an application management device, which can be implemented by software and / or hardware and configured in the electronic device. Figure 1 As shown, the method may include the following steps.

[0027] In step 110, in response to the application startup instruction, historical crash information of the target application before the current startup is obtained.

[0028] In step 120, based on the historical crash information, a target startup type corresponding to the current startup is determined.

[0029] In step 130, a target startup subroutine corresponding to the target startup type in the target application is called, wherein different startup subroutines are used to enable different functions in the target application.

[0030] Here, the application startup instruction refers to an instruction for starting a target application, wherein the instruction for starting a target application includes but is not limited to being generated by touch, voice control, command line, etc.

[0031] The historical crash information refers to the crash-related information saved during the startup or operation of the target application before the current startup.

[0032] The startup subprogram refers to a code segment used to start the target application, wherein different startup types may correspond to different startup subprograms in the target application, and different startup subprograms are used to enable different functions in the target application.

[0033] After obtaining the startup instructions corresponding to the target application, you can first obtain the historical crash information of the target application before this startup, and then further analyze it based on the historical crash information to determine the startup type corresponding to the target application at this startup, that is, the target startup type, and then, you can determine the target startup subroutine corresponding to the target startup type, and further call the target startup subroutine to start the target application.

[0034] It should be noted that the application management method of the embodiment of the present disclosure can be implemented by a component or functional device provided by an operating system, or can also be implemented by a component or functional device provided by a target application installed in the operating system. Here, the operating system can be an Android, IOS, Hongmeng, or other operating system.

[0035] Therefore, by responding to the application startup instruction, the historical crash information of the target application before the current startup is first obtained, and then, based on the historical crash information, the target startup type corresponding to the current startup is determined, and then the target startup subroutine corresponding to the target startup type in the target application can be called to start the target application. Since the target startup subroutine in the target application can be called specifically according to the historical crash information before the current startup, and different startup subroutines are used to enable different functions in the target application, the current startup of the target application can adapt well to previous crash situations, deal with crash problems in a targeted manner, reduce the impact of crashes, and thereby improve user experience.

[0036] In some embodiments, different startup subprograms may include starting the corresponding startup subprogram in a safe mode and starting the corresponding startup subprogram in a normal mode.

[0037] In some embodiments, after calling the target application to start the corresponding startup subroutine in safe mode, some main business functions of the target application can be enabled, that is, some business functions of the target application can be downgraded. Alternatively, the data clearing function can be enabled first to clear the cache and other data in the target application, and then the business functions of the target application can be enabled. Alternatively, the feedback function can be enabled to display a problem feedback interface to guide users to provide problem feedback. These can be achieved according to actual needs by configuring the content enabled by the target startup subroutine.

[0038] In some embodiments, the startup type may include a safe mode and a normal mode, wherein startup in the safe mode limits or changes part or all of the normal business logic of the target application program compared to startup in the normal mode.

[0039] In some embodiments, the startup type may include a safe mode, and the crash information may include the number of crashes. Accordingly, when the number of crashes is greater than a preset number threshold, it may be determined that the target startup type corresponding to the current startup is the safe mode.

[0040] Here, if the number of crashes recorded in the historical crash information is greater than the preset threshold, it may indicate that crashes occurred frequently before this startup. Therefore, you may consider starting the application in safe mode this time. By starting the application in safe mode, you can limit or change part or all of the normal business logic of the target application to improve the crash problem and enhance the user experience.

[0041] In some embodiments, the safety mode can be further divided into a plurality of different types, and different types of safety modes are used to deal with different degrees of crashes. For example, the safety mode can include a first safety mode and a second safety mode, and for another example, the safety mode can include a first safety mode, a second safety mode, and a third safety mode.

[0042] In some embodiments, the target application may correspond to a variety of different crash types, such as startup crash and running crash. When the target application crashes within a certain period of time in response to the application startup instruction, it can be regarded as a startup crash, otherwise it can be regarded as a running crash, and the crash degree corresponding to the startup crash is greater than the crash degree corresponding to the running crash.

[0043] For example, if the target application crashes within 8 seconds of responding to the application startup instruction, the target application crashes at startup, and if the crash occurs after 8 seconds, the target application crashes at runtime. Thus, the historical crash information can record the number of startup crashes and the number of runtime crashes.

[0044] In some embodiments, the number of crashes includes the number of startup crashes and the total number of crashes. The number of startup crashes refers to the number of crashes corresponding to the startup crash, and the total number of crashes refers to the total number of crashes corresponding to the startup crash and the running crash. In addition, the safe mode may include a first safe mode and a second safe mode. In this case, the size of the number of startup crashes and the first number threshold may be determined first. If the number of startup crashes is greater than or equal to the first number threshold, the startup type corresponding to this startup is determined to be the second safe mode. If the number of startup crashes is less than the first number threshold, the size of the total number of crashes and the second number threshold within the first preset time length is determined. If the total number of crashes is greater than the second number threshold within the first preset time length, the startup type corresponding to this startup is determined to be the first safe mode.

[0045] Here, the startup crash count refers to the number of consecutive startup crashes, and the total crash count refers to the total number of various crashes that occurred within a period of time. Therefore, in the case of a startup crash, the startup crash count and the total crash count are both increased by 1. In the case of a running crash, the startup crash count is cleared and the total crash count is increased by 1.

[0046] If the number of startup crashes is greater than or equal to the first number threshold, it can be said that the target application has experienced continuous startup crashes. Therefore, the second safety mode can be regarded as a safety mode corresponding to the scenario of continuous startup crashes. If the number of startup crashes is less than the first number threshold, it means that there are no continuous startup crashes. It can be further determined whether there is a crash scenario of frequent crashes. Within the first preset time, if the total number of crashes is greater than the second number threshold, it can be said that the target application frequently crashes. Therefore, the first safety mode can be regarded as a safety mode corresponding to the scenario of frequent crashes. Among them, the crash degree corresponding to the second safety mode is greater than the crash degree corresponding to the first safety mode.

[0047] In some embodiments, the safe mode may also include a third safe mode, and the crash information also includes the time when the startup type was last determined to be a safe mode, i.e., the first time. Accordingly, the time when the startup type is determined to be a safe mode this time, i.e., the second time, may be obtained, and when the difference between the first time and the second time is less than a third preset duration, it is determined that the startup type corresponding to this startup is the third safe mode.

[0048] Here, the difference between the first time and the second time is less than the third preset duration, indicating that the target application frequently enters the safe mode, which can be regarded as a scenario with a greater degree of crash. Therefore, the safe mode type can be further determined as the third safe mode.

[0049] In some embodiments, when the security mode includes the first security mode, the second security mode, and the third security mode, the security mode determined last time may be the first security mode, the second security mode, or the third security mode, and the security mode determined this time may also be the first security mode, the second security mode, or the third security mode. In other words, no matter what the types of the two security modes are, as long as the difference between the time when the startup type is determined to be the security mode this time and the time when the startup type is determined to be the security mode last time is less than the third preset time length, the startup type corresponding to the current startup may be upgraded from the first security mode or the second security mode to the third security mode.

[0050] The above-mentioned embodiment introduces the process of determining the startup type. Next, the process of counting the number of related crashes used in determining the startup type is introduced.

[0051] In some embodiments, when it is determined that the startup type corresponding to this startup is the first security mode or the second security mode, the number of startup crashes can be cleared. When the number of startup crashes is greater than 0 and less than the first number threshold, in response to the target application running for more than a second preset time, the number of startup crashes can be cleared.

[0052] Here, when it is determined that the startup type corresponding to this startup is the safe mode, the target startup subroutine corresponding to the target startup type in the target application can be called to start the target application. At this time, it is equivalent to processing the crash problem once, which can alleviate the crash problem. Therefore, the number of startup crashes can be recounted, that is, the number of startup crashes can be reset to zero to avoid easily judging it as the second safe mode again.

[0053] When the number of startup crashes is greater than 0 and less than the first count threshold, it cannot be determined as the second safe mode at this time, and the number of startup crashes continues to be counted. During the counting process, if the target application runs for more than the second preset time, it means that there is no startup crash in the target application during this operation. Then, when determining the target startup type corresponding to the next startup, there is no scenario of continuous startup crashes. Therefore, the number of startup crashes can be cleared to start counting again from the next startup.

[0054] In addition, in some embodiments, when it is determined that the startup type corresponding to the current startup is a normal mode, the number of startup crashes may also be cleared.

[0055] In some embodiments, when a crash of the target application is detected, a crash file may be generated, where one crash file corresponds to one crash, and the total number of crashes may be determined by the number of recorded crash files.

[0056] In some embodiments, the crash file name is the time when the application responds to the application startup instruction. In this way, the total number of crashes and the time interval between crashes can be determined through the recorded crash file, and then whether it is the first safety mode can be determined based on the crash file.

[0057] In addition, in some embodiments, when a crash of the target application is detected, the crash type corresponding to the crash can also be determined. If the crash is a startup crash, the startup crash count is increased by 1; if the crash is a running crash, the startup crash count is cleared.

[0058] During this startup or running process, if it is detected that the target application has crashed, and this crash corresponds to a startup crash, the number of crashes associated with the startup crash can be increased by 1 to correctly accumulate the number of startup crashes.

[0059] During this startup or running process, if it is detected that the target application has crashed, and this crash is a running crash, it also means that there is no startup crash in the current running of the target application. Then, when determining the target startup type corresponding to the next startup, there will be no scenario of continuous startup crashes. Therefore, the number of startup crashes can also be cleared to start counting again from the next startup.

[0060] In some embodiments, the target application may be crash monitored by a crash monitoring component in the target application.

[0061] Considering that the crash monitoring component needs to be initialized before the monitoring function can be realized, and during the initialization process of the crash monitoring component, the target application may also crash, so the crash monitoring component cannot be initialized and the crash monitoring of the target application cannot be realized.

[0062] Therefore, in some embodiments, the target application includes a crash monitoring component for crash monitoring the target application. Accordingly, in order to accurately count the number of crashes, the electronic device can perform initialization in response to the crash monitoring component, pre-generate a crash file, and increase the number of startup crashes by 1. In addition, the electronic device can also delete the pre-generated crash file and reduce the number of crashes associated with the startup crash by 1 in response to determining that the initialization of the crash monitoring component is complete.

[0063] Here, during the initialization process of the crash monitoring component, a crash file may be generated in advance, and since the initialization time required for the crash monitoring component during the startup of the target application is relatively short, this crash corresponds to a startup crash, and thus the number of crashes associated with the startup crash may be increased by 1. When the initialization of the crash monitoring component is completed, in response to determining that the initialization of the crash monitoring component is completed, the pre-generated crash file may be deleted, and the number of crashes associated with the startup crash may be decreased by 1.

[0064] In this way, even if the target application crashes and the crash monitoring component fails to complete initialization, the next time the corresponding target startup type is started, the pre-generated crash file can be used to accurately reflect the crash of the target application during this startup. After the crash monitoring component is initialized, the crash monitoring component can normally monitor the crash of the target application during this startup or operation. Therefore, the pre-generated crash file can be deleted, and the number of crashes associated with the startup crash can be reduced by 1, and counted according to the actual monitoring records of the crash monitoring component.

[0065] In some embodiments, after monitoring the crash of the target application, the crash monitoring component can further determine whether the crash of the target application is a startup crash or an operation crash based on the time when the application crashed and the time when the application startup instruction was responded to, and perform corresponding processing.

[0066] In some embodiments, a callback function may be registered with the crash monitoring component, and the callback function may be used to determine whether the initialization of the crash monitoring component is complete or whether a crash of the target application is detected.

[0067] In some embodiments, when the target startup type corresponding to the current startup is determined to be a safe mode based on historical crash information, and after the target startup subroutine corresponding to the target startup type in the target application is called to start the target application, a target service execution request initiated by the access service of the target application can be received. In this case, the execution state corresponding to the target service execution request, i.e., the target execution state, can be determined based on the association relationship between the preset service execution request and the execution state. When the target execution state is execution allowed, the target service execution request is executed. If the target execution state is execution not allowed, the target service execution request will not be executed.

[0068] Therefore, the business execution requests that are allowed to be executed can be set in advance in the safe mode, and some functions can be downgraded during the application operation.

[0069] It is worth noting that when the security mode includes multiple types, the association relationship between the pre-set service execution request and the execution state is different in different security modes. That is, in different security modes, the same service execution request may correspond to different execution states. The execution state here may include two types: execution allowed and execution not allowed.

[0070] Next, combine Figure 2 As shown, a complete embodiment is used to describe in detail the application management method of the embodiment of the present disclosure.

[0071] like Figure 2 As shown, in addition to conventional components for launching applications and executing services, an application may also include additional safe mode detection components and crash monitoring components.

[0072] Continue as Figure 2 As shown, after the application receives the startup instruction, the safe mode detection component and the crash monitoring component can be called in response to the application startup instruction.

[0073] The safe mode detection component can obtain initialization information, which may include the time for the application to respond to the application startup instruction (also referred to as the application startup time), the number of startup crashes, and the last time the startup type was determined to be safe mode (also referred to as the last time to enter safe mode).

[0074] The safety mode detection component can further preliminarily determine whether the startup type corresponding to the current startup is the second safety mode based on the number of startup crashes recorded in the initialization information. For example, when the number of startup crashes reaches a threshold (for example, 3 times), it is preliminarily determined that the startup type corresponding to the current startup is the second safety mode (also referred to herein as the safety mode corresponding to continuous startup crashes).

[0075] When it is preliminarily determined that the startup type corresponding to this startup is the second safety mode, the safety mode detection component can save the time when the startup type is determined to be the second safety mode. At the same time, the number of startup crashes can be cleared, and further based on the time when the startup type was last determined to be a safety mode (which can be the first safety mode, the second safety mode, and the third safety mode), it can finally determine whether it is the third safety mode (also referred to as the frequent safety mode here).

[0076] For example, when the time from the time when the startup type is determined to be the second safety mode this time to the time when the startup type is determined to be the safety mode last time does not exceed the time threshold (for example, 3 minutes), the startup type corresponding to this startup is finally determined to be the third safety mode; otherwise, when the time from the time when the startup type is determined to be the second safety mode this time to the time when the startup type is determined to be the safety mode last time exceeds the time threshold, the startup type corresponding to this startup is finally determined to be the second safety mode.

[0077] When it is preliminarily determined that the startup type corresponding to this startup is not the second safe mode, the safe mode detection component can continue to obtain the recorded crash files, where the crash files are created by the safe mode detection component when the crash monitoring component monitors that the application has crashed. A crash file indicates that the application has crashed once, and the file name of each crash file is the time when the application responded to the application startup instruction.

[0078] Therefore, based on the crash file, it can be preliminarily determined whether the startup type corresponding to this startup is the first safety mode. For example, based on the crash file, it can be preliminarily determined whether the total number of crashes reaches a threshold number (for example, 3 times) within a first preset time (for example, 3 minutes). If the threshold number is reached, it is preliminarily determined that the startup type corresponding to this startup is the first safety mode (also referred to as the safety mode corresponding to frequent crashes), otherwise it is the normal mode.

[0079] When it is preliminarily determined that the startup type corresponding to the current startup is the first safe mode, the safe mode detection component can save the time when the startup type is determined to be the first safe mode, and at the same time, the number of startup crashes can be cleared, and further based on the time when the startup type is determined to be the safe mode last time, it is finally determined whether it is the third safe mode. This process can refer to the above process and will not be repeated here.

[0080] In addition, the safe mode detection component can continue to determine whether the target application has been running for more than a second preset time when the number of startup crashes is greater than 0 and less than a threshold number (for example, 3 times). If it exceeds the second preset time, the number of startup crashes will be cleared to zero.

[0081] When the application calls the crash monitoring component, the crash monitoring component is first initialized. During the initialization of the crash monitoring component, the safe mode detection component can pre-write a crash file with the name of the time when the application responds to the application startup instruction, and at the same time increase the startup crash count by 1.

[0082] The safe mode detection component can register a callback function in the crash monitoring component. In this way, when the crash monitoring component is initialized, a notification is sent to the safe mode detection component through the callback function, so that the safe mode detection component can clear the pre-written crash file and reduce the startup crash count by 1.

[0083] In addition, when the crash monitoring component captures an application crash, it can also send a notification to the safe mode detection component through a callback function, so that the safe mode detection component can create a crash file with the file name of the time when the application responds to the application startup instruction. In addition, it can also determine the crash type corresponding to this crash. If it is a startup crash, the startup crash count will be increased by 1.

[0084] It should be noted that the crash information recorded during this startup or operation is used to help the application determine the startup type when it is started next time, but will not be used to help the application determine the startup type when it is started this time.

[0085] In some embodiments, the business component in the conventional component can send a security mode query request to the security mode detection component, the security mode detection component can send the type of security mode to the business component in response to the security mode query request, and the business component can further decide whether to execute the business based on the type of security mode received.

[0086] Figure 3 FIG. 1 is a schematic diagram of module connections of an application management device shown in some embodiments. Figure 3 As shown, the embodiment of the present disclosure provides an application management device 300, and the application management device 300 includes: The first acquisition module 301 is configured to obtain historical crash information of the target application before the current startup in response to the application startup instruction; A first determination module 302 is configured to determine a target startup type corresponding to the current startup based on the historical crash information; The calling module 303 is configured to call a target startup subprogram in the target application corresponding to the target startup type, wherein different startup subprograms are used to enable different functions in the target application.

[0087] Optionally, the historical crash information includes the number of crashes, and the determination module 302 includes: The determination unit is configured to determine that the target startup type corresponding to the current startup is the safe mode when the number of crashes is greater than a preset number threshold.

[0088] Optionally, the number of crashes includes a startup crash number and a total crash number, the startup crash number is the number of crashes corresponding to the startup crash, the total crash number is the total number of crashes corresponding to the startup crash and the running crash, the safety mode includes a first safety mode and a second safety mode, and the determining unit is specifically configured to: When the number of startup crashes is greater than or equal to the first number threshold, determining that the startup type corresponding to the current startup is the second safety mode; When the number of startup crashes is less than the first number threshold, if within a first preset time period, the total number of crashes is greater than a second number threshold, it is determined that the startup type corresponding to the current startup is the first safety mode.

[0089] Optionally, the application management device 300 further includes: A first counting module is configured to clear the number of startup crashes to zero when determining that the startup type corresponding to the current startup is the first safety mode or the second safety mode; The second counting module is configured to, when the number of startup crashes is greater than 0 and less than the first number threshold, clear the number of startup crashes to zero in response to the target application running for more than a second preset time.

[0090] Optionally, the application management device 300 further includes: A first generating module is configured to generate a crash file when a crash of the target application is detected, wherein one crash file corresponds to one crash; The third counting module is configured to increase the number of crashes associated with the startup crash by 1 if the current crash is the startup crash; and clear the number of startup crashes to zero if the current crash is the running crash.

[0091] Optionally, the target application includes a crash monitoring component for performing crash monitoring on the target application, and the application management device 300 further includes: A second generating module is configured to pre-generate a crash file in response to the crash monitoring component executing initialization, and increase the startup crash count by 1, where one crash file corresponds to one crash; The deletion module is configured to delete the pre-generated crash file and reduce the startup crash count by 1 in response to determining that the initialization of the crash monitoring component is completed.

[0092] Optionally, the safe mode includes a third safe mode, the crash information also includes the first time when the startup type was last determined to be the safe mode, and the application management device 300 further includes: A second acquisition module is configured to acquire a second time when the startup type is determined to be a safe mode this time; The second determination module is configured to determine that the startup type corresponding to the current startup is the third safety mode when the difference between the first time and the second time is less than a third preset duration.

[0093] The logic of the method executed by each functional module in the above-mentioned application management device 300 can refer to the part about the method in the above-mentioned embodiment, and will not be repeated here.

[0094] Reference below Figure 4 , which shows a schematic diagram of the structure of an electronic device 400 suitable for implementing the embodiment of the present disclosure. The electronic device in the embodiment of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle terminals (such as vehicle navigation terminals), virtual reality devices, etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 4 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0095] like Figure 4 As shown, the electronic device 400 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage device 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the electronic device 400 are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0096] Typically, the following devices may be connected to the I / O interface 405: an input device 406 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 407 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 408 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 409. The communication device 409 may allow the electronic device 400 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 4 The electronic device 400 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.

[0097] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 409, or installed from the storage device 408, or installed from the ROM 402. When the computer program is executed by the processing device 401, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.

[0098] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. Computer readable signal media may also be any computer readable medium other than computer readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0099] In some embodiments, the electronic devices may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0100] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0101] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: responds to the application startup instruction, obtains the historical crash information of the target application before the current startup; determines the target startup type corresponding to the current startup based on the historical crash information; calls the target startup subroutine in the target application corresponding to the target startup type, wherein different startup subroutines are used to enable different functions in the target application.

[0102] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0103] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0104] The modules involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a module does not, in some cases, limit the module itself.

[0105] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0106] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0107] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.

[0108] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0109] Although the subject matter has been described in language specific to structural features and / or method logic actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims. Regarding the device in the above embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.

Claims

1. An application management method, characterized in that: include: In response to the application startup instruction, obtaining historical crash information of the target application before the current startup; Determine a target startup type corresponding to the current startup based on the historical crash information; A target startup subprogram corresponding to the target startup type in the target application is called, wherein different startup subprograms are used to enable different functions in the target application.

2. The method according to claim 1, characterized in that: The historical crash information includes the number of crashes, and determining the target startup type corresponding to the current startup based on the historical crash information includes: When the number of crashes is greater than a preset number threshold, it is determined that the target startup type corresponding to the current startup is a safe mode.

3. The method according to claim 2, characterized in that The number of crashes includes the number of startup crashes and the total number of crashes, the number of startup crashes is the number of crashes corresponding to the startup crash, the total number of crashes is the total number of crashes corresponding to the startup crash and the running crash, the safe mode includes a first safe mode and a second safe mode, and when the number of crashes is greater than a preset number threshold, determining that the startup type corresponding to the current startup is a safe mode includes: When the number of startup crashes is greater than or equal to the first number threshold, determining that the startup type corresponding to the current startup is the second safety mode; When the number of startup crashes is less than the first number threshold, if within a first preset time period, the total number of crashes is greater than a second number threshold, it is determined that the startup type corresponding to the current startup is the first safety mode.

4. The method according to claim 3, characterized in that The method further comprises: When it is determined that the startup type corresponding to the current startup is the first safety mode or the second safety mode, clearing the startup crash count; When the number of startup crashes is greater than 0 and less than the first number threshold, in response to the target application running for more than a second preset time, the number of startup crashes is cleared.

5. The method according to claim 3, characterized in that: The method further comprises: When a crash of the target application is detected, a crash file is generated, wherein one crash file corresponds to one crash; If the current crash is the startup crash, the crash count associated with the startup crash is increased by 1; If the crash is a running crash, the startup crash count is reset to zero.

6. The method according to claim 3, characterized in that The target application includes a crash monitoring component for performing crash monitoring on the target application, and the method further includes: In response to the crash monitoring component executing initialization, a crash file is pre-generated, and the startup crash count is increased by 1, where one crash file corresponds to one crash; In response to determining that the initialization of the crash monitoring component is complete, the pre-generated crash file is deleted, and the number of startup crashes is reduced by 1.

7. The method according to claim 2, characterized in that The safe mode includes a third safe mode, the crash information also includes the first time when the startup type was last determined to be a safe mode, and the method further includes: Get the second time when the startup type is determined to be safe mode; When the difference between the first time and the second time is less than a third preset duration, it is determined that the startup type corresponding to the current startup is the third safety mode.

8. An application management device, characterized in that: include: A first acquisition module is configured to obtain historical crash information of a target application before the current startup in response to an application startup instruction; A first determination module is configured to determine a target startup type corresponding to the current startup based on the historical crash information; The calling module is configured to call a target startup subprogram in the target application corresponding to the target startup type, wherein different startup subprograms are used to enable different functions in the target application.

9. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processing device, the steps of the method described in any one of claims 1 to 7 are implemented.

10. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processing device, the steps of the method according to any one of claims 1 to 7 are implemented.