Display device and application acceleration starting method
By verifying the consistency between the installation source and the trusted source of the target application in the display device, if the installation source is a trusted source, security verification is skipped, which solves the problem of inefficient cold startup of the application and achieves faster application startup speed and higher efficiency.
Patent Information
- Application Number
- CN202411659194.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2025-03-07
AI Technical Summary
Existing display devices are inefficient when the application is cold-started and reduce the application startup efficiency due to repeated security verification.
By obtaining the installation source and trusted source of the target application for verification, if the installation source is a trusted source, the security verification of the target application will be skipped and the application interface will be displayed directly on the user interface, thereby improving the application startup speed.
By skipping the security verification process, the application startup time is significantly saved, the application startup efficiency is improved, and the system resource usage is reduced.
Smart Images

Figure CN119577783A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of display devices, and in particular to a display device and an application accelerated startup method. Background Art
[0002] Display devices can be installed with a variety of applications with different functions. When the display device performs a cold start on an application each time, if the application process of the application is directly started, the code integrity and application security of the application cannot be guaranteed. When an application has a security problem, it will cause the application to fail to start or errors to occur during operation.
[0003] To this end, the display device will perform a security verification on the application during the cold start process. If the application passes the verification, the display device can run the application so that the display device can perform corresponding functions through the application.
[0004] Security verification consumes a certain amount of verification time, thereby increasing the time it takes for the display device to start the application. However, for applications that have passed security verification, the display device will perform security verification on the application again during the next cold start process, reducing the efficiency of the application startup. Summary of the invention
[0005] The present application provides a display device and an application accelerated startup method to solve the problem of low efficiency of cold startup of application programs.
[0006] In a first aspect, some embodiments of the present application provide a display device, including:
[0007] a display configured to display a user interface, wherein the user interface includes a preset number of application controls;
[0008] The controller is configured as:
[0009] In response to a startup instruction for starting a target application, obtaining an installation source of the target application, the installation source being a source of data called when installing the target application;
[0010] Obtaining a verification list, the verification list including trusted sources of the application, the trusted source being an installation source that has performed security verification on the application;
[0011] Performing query verification on the installation source according to the verification list, the query verification is used to query the consistency result between the installation source and the trusted source;
[0012] If the installation source is a trusted source, a whitelist mark is added to the target application, and the display is controlled to display the application interface of the target application in the user interface; the whitelist mark is used to indicate that security verification is not performed on the target application.
[0013] The above technical solution has the following advantages or beneficial effects: by obtaining the installation source and the trusted source of the target application for verification, if the installation source is a trusted source, it means that the target application is a trusted control, and the display device does not need to perform security verification on the target application, thereby skipping the security verification during the startup and operation of the target reference control, thereby improving the application startup speed.
[0014] In some embodiments, if the installation source is an untrusted source, the controller is further configured to:
[0015] When the target application is not started for the first time, obtaining a verification result of the target application during the last startup process;
[0016] If the verification is successful, controlling the display to display the application interface of the target application on the user interface;
[0017] If the verification fails, security verification is performed on the target application; when the result of the current security verification is successful, the application interface of the target application is displayed, and the verification result of the target application is updated.
[0018] The above technical solution has the following advantages or beneficial effects: when the target application is a non-trusted source, it is necessary to perform security verification on the target application. To this end, if the target application is not started for the first time, it means that the display device has performed a security verification on the target application once. Therefore, based on the verification result generated by the security verification performed on the target application during the last startup process, if the verification is successful, the target application can be started directly, thereby replacing the result of this security verification. If the verification fails, the security verification is performed on the target application again.
[0019] In some embodiments, when the target application is started for the first time, the controller is further configured to:
[0020] Performing security verification on the target application to generate a verification result;
[0021] If the verification is successful, controlling the display to display the application interface of the target application on the user interface;
[0022] If the verification fails, the display is controlled to display a prompt interface on the user interface, wherein the prompt interface includes prompt information indicating that the target application fails to start.
[0023] The above technical solution has the following advantages or beneficial effects: if the target application is started for the first time, it means that the display device has not performed security verification on the target application. In order to ensure that the display device runs in a secure environment, it is necessary to perform security verification on the target application and run or cancel the target application based on the corresponding verification result.
[0024] In some embodiments, before the controller executes the step of controlling the display to display the application interface of the target application on the user interface, the controller is further configured to:
[0025] Obtaining the memory occupied by the target application;
[0026] Performing memory detection on a system memory margin of the display device according to the occupied memory;
[0027] If the system memory margin is less than or equal to the occupied memory, the system redundant data is recovered through the first task process.
[0028] The above technical solution has the following advantages or beneficial effects: before the display device starts the target application, the occupied memory required by the target application is obtained, and it is detected whether the current system memory margin includes sufficient memory margin for starting the target application. If the memory margin is not enough to run the target application, the display device reclaims the system redundant data of the system memory through the first task process memory to release memory space for running the target application.
[0029] In some embodiments, the controller is further configured to:
[0030] If the system memory margin of the display device is greater than the occupied memory, the display is controlled to display the application interface of the target application in the user interface.
[0031] The above technical solution has the following advantages or beneficial effects: if the system memory margin is sufficient to run the target application, the display device can skip the first task process of memory recovery of system redundant data during the process of starting the target application, thereby saving the time of executing memory recovery and improving the application running speed.
[0032] In some embodiments, after the controller executes the step of controlling the display to display the application interface of the target application on the user interface, the controller is further configured to:
[0033] Updating the system memory margin according to the occupied memory;
[0034] If the updated system memory margin is less than or equal to the memory margin threshold, the step of recovering system redundant data through the first task process is executed.
[0035] The above technical solution has the following advantages or beneficial effects: after starting the target application, the system memory margin will be reduced according to the memory occupied by the target application during operation. In order to facilitate the smooth operation of the target application and other processes, the display device is set with a memory margin threshold. The display device updates the system memory margin according to the occupied memory. If the updated system memory margin is less than or equal to the memory margin threshold, memory recycling is performed through the first task process to release memory space.
[0036] In some embodiments, after executing the step of querying and verifying the installation source according to the verification list, the controller is further configured to:
[0037] Obtaining an update data packet of the target application;
[0038] executing application update on the target application according to the update data packet;
[0039] After the application update is completed, the installation source of the target application is updated according to the data source of the update data packet.
[0040] The above technical solution has the following advantages or beneficial effects: when the target application is updated, the internal data of the target application will change according to the update, so it is necessary to re-perform security verification on the target application according to the application update. The display device obtains the update data packet, and after completing the application update, updates the installation source of the target application according to the data source of the update data packet, so as to verify the target application according to the update source.
[0041] In some embodiments, a communication device is further included, the communication device is configured to establish a communication connection with a server, and the controller performs the step of obtaining an update data packet of the target application, which is specifically configured as follows:
[0042] Sending an application update request to a server, wherein the application update request is used to instruct the server to detect a version of the target application to be updated;
[0043] Obtain an update data packet fed back by the server according to the version to be updated.
[0044] The above technical solution has the following advantages or beneficial effects: the display device generates an application update request, and detects the version to be updated of the target application through the server. If the server detects the version to be updated of the target application, it feeds back an update data packet based on the version to be updated, so that the display device updates the target application according to the update data packet, thereby updating the installation source of the target application.
[0045] In some embodiments, before the controller executes the step of obtaining the first task progress, the controller is further configured to:
[0046] Set the data detection duration;
[0047] At intervals of the data detection time, redundant data detection is performed on the system memory to obtain system redundant data.
[0048] The above technical solution has the following advantages or beneficial effects: during operation, the display device can collect data that occupies system memory and has not been called for a long time, organize these data into system redundant data, and clear the system redundant data when specific conditions are triggered to complete memory recovery.
[0049] In a second aspect, some embodiments of the present application provide an application accelerated startup method, which is applied to the display device described in the first aspect, wherein the display device includes a display and a controller, and the display is configured to display a user interface, and the user interface includes an application control; the method includes:
[0050] In response to a startup instruction for starting a target application, obtaining an installation source of the target application, the installation source being a source of data called when installing the target application;
[0051] Obtaining a verification list, the verification list including trusted sources of the application, the trusted source being an installation source that has performed security verification on the application;
[0052] Performing query verification on the installation source according to the verification list, the query verification is used to query the consistency result between the installation source and the trusted source;
[0053] If the installation source is a trusted source, a whitelist mark is added to the target application, and the display is controlled to display the application interface of the target application in the user interface; the whitelist mark is used to indicate that security verification is not performed on the target application.
[0054] It can be seen from the above technical solutions that the present application provides a display device and an application accelerated startup method, wherein the method responds to the startup instruction of the target application and obtains the data source required by the target application when performing the installation. The installation source is verified through the trusted sources in the verification list of the application. If the installation source is a trusted source, a whitelist mark is added to the target application. The whitelist mark is used to indicate that security verification is not performed on the target application, thereby controlling the display to display the application interface corresponding to the target application in the user interface. The present application verifies the installation source of the target application. When the installation source is a trusted source, the security verification process of the target application is skipped, thereby saving the startup time of the target application and improving the application startup efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0056] Figure 1 A schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application;
[0057] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;
[0058] Figure 3 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;
[0059] Figure 4 A flowchart of a method for accelerating the startup of an application by a display device provided in some embodiments of the present application;
[0060] Figure 5 A timing diagram of a display device executing an application acceleration startup method provided in some embodiments of the present application;
[0061] Figure 6 A flow chart of verification that the installation source is an untrusted source in some embodiments of the present application;
[0062] Figure 7 A flowchart showing that a display device generates different interfaces according to different verification results in some embodiments of the present application;
[0063] Figure 8 A flowchart of adding a mark to a display device after an untrusted source is successfully authenticated in some embodiments of the present application;
[0064] Fig. 9 A flowchart showing a process in which a display device skips a first task in some embodiments of the present application;
[0065] Fig.10 A flowchart of executing a first task process according to an updated system memory margin in some embodiments of the present application;
[0066] Fig.11 This is a flow chart of a first embodiment of re-verifying the installation source after updating the target application in some embodiments of the present application;
[0067] Fig.12 This is a flow chart of a second embodiment of re-verifying the installation source after updating the target application in some embodiments of the present application. DETAILED DESCRIPTION
[0068] The following embodiments are described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following embodiments do not represent all implementations consistent with the present application. They are only examples of systems and methods consistent with some aspects of the present application as detailed in the claims.
[0069] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.
[0070] The terms "first", "second", "third", etc. in the specification and claims of this application and the above drawings are used to distinguish similar or similar objects or entities, and do not necessarily mean to limit a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances.
[0071] The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device comprising a list of components is not necessarily limited to all the components expressly listed but may include other components not expressly listed or inherent to such product or device.
[0072] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.
[0073] In the embodiment of the present application, the display device 200 generally refers to a device with image display and data processing capabilities. For example, the display device 200 includes but is not limited to a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc.
[0074] Figure 1 This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1 As shown in FIG. 1 , a user can operate the display device 200 through touch operation, the mobile terminal 300 and the control device 100. The control device 100 is used to receive operation instructions input by the user and convert the operation instructions into control instructions that can be recognized and responded to by the display device 200. For example, the control device 100 can be a remote controller, a stylus pen, a handle, etc.
[0075] The mobile terminal 300 can be used as a control device for performing human-computer interaction between the user and the display device 200. The mobile terminal 300 can also be used as a communication device for establishing a communication connection with the display device 200 and performing data interaction. In some embodiments, the mobile terminal 300 can install software applications with the display device 200, and achieve connection and communication through a network communication protocol to achieve the purpose of one-to-one control operation and data communication. The audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200 to achieve a synchronous display function.
[0076] In some embodiments, the mobile terminal 300 or other electronic devices may also simulate the functions of the control device 100 by running an application program for controlling the display device 200 .
[0077] like Figure 1 As also shown in FIG. 4 , the display device 200 also communicates data with the server 400 through various communication methods. The display device 200 may be allowed to communicate and connect through a local area network (LAN), a wireless local area network (WLAN), and other networks.
[0078] The display device 200 may provide a broadcast receiving television function, and may also additionally provide an intelligent network television function with a computer support function, including but not limited to network television, smart television, Internet Protocol television (IPTV), and the like.
[0079] Figure 2 Some embodiments of the present application provide Figure 1 2 is a block diagram of the hardware configuration of the display device 200.
[0080] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.
[0081] In some embodiments, the detector 230 is used to collect signals of the external environment or external interaction. For example, the detector 230 includes a light receiver, a sensor for collecting the intensity of ambient light; or, the detector 230 includes an image collector, such as a camera, which can be used to collect external environment scenes, user attributes or user interaction gestures; or, the detector 230 includes a sound collector, such as a microphone, etc., for receiving external sounds.
[0082] In some embodiments, the display 260 includes a display function component for presenting a picture, and a driving component for driving an image display. The display 260 is used to receive an image signal output from the controller 250 for display. For example, the display 260 can be used to display video content, image content, and components of a menu control interface and a user control UI interface.
[0083] In some embodiments, the communication device 220 is a component for communicating with an external device or server 400 according to various communication protocol types. The display device 200 may be provided with a plurality of communication devices 220 according to different supported communication modes. For example, when the display device 200 supports wireless network communication, the display device 200 may be provided with a communication device 220 including a WiFi function. When the display device 200 supports Bluetooth connection communication, the display device 200 needs to be provided with a communication device 220 including a Bluetooth function.
[0084] The communication device 220 can enable the display device 200 to communicate with the external device or server 400 by wireless or wired connection. Among them, the wired connection can connect the display device 200 with the external device through components such as data cables and interfaces. The wireless connection can connect the display device 200 with the external device through wireless signals or wireless networks. The display device 200 can establish a connection relationship with the external device directly, or indirectly establish a connection relationship through a gateway, a router, a connection device, etc.
[0085] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first interface to an nth interface for input / output. The controller 250 controls the operation of the display device and responds to the user's operation through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200.
[0086] In some embodiments, the controller 250 and the tuner-demodulator 210 may be located in different separate devices, that is, the tuner-demodulator 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.
[0087] In some embodiments, the user may input a user command through a graphical user interface (GUI) displayed on the display 260 , and the user input interface receives the user input command through the graphical user interface (GUI).
[0088] In some embodiments, the audio output device 270 may be a local speaker of the display device 200, or may be an external audio output device of the display device 200. In particular, for the external audio output device of the display device 200, the display device 200 may also be provided with an external audio output terminal, and the audio output device may be connected to the display device 200 through the external audio output terminal to output the sound of the display device 200.
[0089] In some embodiments, the user input interface 280 may be used to receive instructions from a user.
[0090] In order to perform user interaction, in some embodiments, the display device 200 may run an operating system. The operating system is a computer program for managing and controlling hardware resources and software resources in the display device 200. The operating system can control the display device to provide a user interface, for example, the operating system can directly control the display device to provide a user interface, or can provide a user interface by running an application program. The operating system also allows the user to interact with the display device 200.
[0091] It should be noted that the operating system may be a native operating system based on a specific operating platform, or a third-party operating system deeply customized based on a specific operating platform, or an independent operating system specially developed for the display device.
[0092] The operating system can be divided into different modules or layers according to the functions implemented, such as Figure 3 As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (Applications) layer (referred to as "application layer"), the application framework layer (Application Framework) layer (referred to as "framework layer"), the system library layer and the kernel layer.
[0093] In some embodiments, the application layer is used to provide services and interfaces for applications so that the display device 200 can run applications and interact with users based on the applications. At least one application can be run in the application layer, and these applications can be window programs, system settings programs, clock programs, etc. that come with the operating system; they can also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the above examples.
[0094] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications. The application framework layer includes some predefined functions. The application framework layer is equivalent to a processing center that determines the actions that applications in the application layer take. Through the API interface, applications can access system resources and obtain system services during execution.
[0095] like Figure 3 As shown, in the embodiment of the present application, the application framework layer includes a view system, managers, content providers, etc., wherein the view system can design and implement the interface and interaction of the application, and the view system includes lists, grids, text boxes, buttons, etc. The manager includes at least one of the following modules: an activity manager for interacting with all activities running in the system; a location manager for providing system services or applications with access to system location services; a package manager for retrieving various information related to the application package currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0096] In some embodiments, the activity manager is used to manage the life cycle of each application and the usual navigation back function, such as controlling the exit, opening, and back of the application. The window manager is used to manage all window programs, such as obtaining the display screen size, determining whether there is a status bar, locking the screen, capturing the screen, and controlling the display window changes, for example, reducing the display window, shaking the display, distorting the display, etc.
[0097] In some embodiments, the system runtime layer can provide support for the framework layer. When the framework layer is used, the operating system will run the instruction library contained in the system runtime layer, such as the C / C++ instruction library, to implement the functions to be implemented by the framework layer.
[0098] In some embodiments, the kernel layer is a functional layer between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. Figure 3As shown, the kernel layer may be configured with hardware drivers, and the drivers included in the kernel layer may be at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.
[0099] It should be noted that the above example is only a simple division of the operating system functions and does not constitute a limitation on the specific operating system form of the display device 200 in the embodiment of the present application. Depending on factors such as the function of the display device and the type of operating system, the number of levels and specific level types contained in the operating system may be expressed in other forms.
[0100] In some embodiments, the display device 200 may execute a startup procedure in response to a startup instruction. After the startup is completed, the display device 200 may display a user interface, which may include a list interface for displaying applications, so that the user can send a startup instruction to the display device 200 according to the application controls in the list interface to control the display device 200 to run the corresponding application. For different application functions, the list interface may include a variety of different application controls, such as a map application control, a social application control, a player application control, or other functional application controls.
[0101] The display device 200 can respond to the startup instruction and run the target application specified by the startup instruction. Depending on the startup scenario, the target application can include at least three startup methods, namely hot startup, warm startup and cold startup. Among them, hot startup is to restart the target application when the target application has already created an application process. For example, the display device 200 plays a movie through a video application process. When the display device 200 switches to run another application process in response to the process switching instruction input by the user, the video application process switches to background operation. At this time, when the user inputs the startup instruction for the video application to the display device 200 again, the video application process can be switched from background operation to foreground operation, completing the hot startup process, so that the display device 200 displays the movie screen with the corresponding playback progress when the process is switched.
[0102] A warm start is a start process in which the target application is restarted after the application process is running in the background, and the application process is switched to the foreground. During the warm start process, although the application process continues to run, some active processes need to be recreated because the target application has not been restarted for a long time. Therefore, during the warm start process, the display device 200 needs to recreate some active processes of the application process.
[0103] A cold start is a process of starting a target application when there is no application process of the target application in the background. During the cold start process, the display device 200 creates a new application process and assigns it to the target application. The cold start includes a first stage and a second stage. In the first stage, the display device 200 loads the application process and displays a blank window interface on the user interface for the subsequent display of the application interface corresponding to the target application. After the application process is loaded, the display device 200 creates an active thread through the application process, and renders the active thread in sequence to generate an application interface. After the application interface is generated, the display device 200 can replace the window interface in the user interface with the application interface, thereby completing the cold start process of the target application.
[0104] Since the cold start is the process of starting the target application without an application process, if the process code of the target application is incomplete or has security issues, it will affect the operating environment of the display device 200. For this reason, the display device 200 can perform a security verification on the target application before performing a cold start on the target application to verify the code integrity and application security of the target application. When the target application passes the security verification, the display device 200 can perform a cold start process on the target application.
[0105] However, security verification consumes a certain amount of verification time, thereby increasing the time it takes for the display device to start the application. However, for applications that have passed security verification, the display device will perform security verification on the application again during the next cold start process, reducing the startup efficiency of the application.
[0106] In order to solve the problem of low efficiency of cold start of application programs, some embodiments of the present application provide a display device 200, including a controller 250 and a display 260, wherein the display 260 is configured to display a user interface. The user interface may include a preset number of application controls so that the display device 200 runs different application processes according to different application controls. The controller 250 is configured to execute an application accelerated startup method. Figure 4 A flowchart of a method for accelerating the startup of an application performed by a display device provided in an embodiment of the present application. Figure 5 The timing diagram of the display device performing the application acceleration startup method provided in the embodiment of the present application. The controller 250 performs the following steps: Figure 5 The timing relationship shown in the figure is used to execute the application acceleration startup method. Figure 4 and Figure 5 , the method comprises the following contents:
[0107] S100: In response to a startup instruction for starting a target application, obtaining an installation source of the target application.
[0108] The start instruction is used to start the target application, which is the application specified by the start instruction. The start instruction can be generated in a variety of ways. For example, when the display device 200 is in the user interface, a focus mark can be added to one of the applications in the user interface so that the application control with the focus mark added is the focus control. The user can send a start instruction to the display device 200 through the control device 100 or the touch function, so that the display device 200 determines the application corresponding to the focus control as the target application and executes the start process of the target application.
[0109] In some embodiments, the target application includes multiple startup modes, and the controller 250 needs to determine the startup mode of the target application. To this end, the controller 250 can also detect the background process corresponding to the target application in response to the startup instruction of the target application, and the background process is the application process running in the background. If the background process is detected, the startup mode of the target application is determined to be hot start or warm start. If the background process is not detected, the startup mode of the target application is determined to be cold start.
[0110] When the current startup of the target application is a cold startup, the controller 250 can obtain the installation source of the target application, which is the data source called when installing the target application. In order to be able to run the functions corresponding to the application, for example, before installing the application, the display device 200 needs to obtain the installation package of the application, and the installation package includes the data required for the target application to execute the installation. The display device 200 can obtain the installation package through different data sources, for example, downloading the installation package through the application market, downloading the installation package through the web page, or receiving the installation package sent by other devices.
[0111] Different data sources have different corresponding security. Therefore, in order to improve the operating security of the display device 200 when the target application is cold-started, the controller 250 can obtain the installation source of the target application to facilitate subsequent security verification of the installation source, thereby improving the security of the display device 200 when the target application is cold-started.
[0112] Different installation sources correspond to different ways of obtaining data required by target applications. For example, the display device 200 can download the installation package corresponding to the target application through the official application platform. In this case, the installation source of the target application is the official application platform. For another example, the display device 200 can download the installation package of the target application through the official website. In this case, the installation source of the target application is the official website. For another example, the display device 200 can also receive the installation package sent by other devices. In this case, the installation source of the target application is other devices.
[0113] S200: Obtain a verification list.
[0114] Before the display device 200 obtains the installation package corresponding to the application, some installation sources will pre-verify the security of the installation package to detect security issues in the application. For this reason, these installation sources can be called trusted installation sources, i.e., trusted sources. A trusted source is an installation source that has performed security verification on the application. When the display device 200 obtains the data required by the target application through a trusted source, since the trusted source has performed security verification on the data of the target application, the display device 200 can skip the process of performing security verification on the target application, so as to save redundant verification processes and speed up the startup of the target application.
[0115] Based on the above scenario, when the display device 200 cold starts the target application, it is necessary to detect whether the installation source of the target application is a trusted source. To this end, the controller 250 can obtain a verification list, which includes trusted sources of the application, such as the official website of the application, the official application download platform, etc.
[0116] S300: Perform query verification on the installation source according to the verification list.
[0117] After obtaining the verification list, the controller 250 can perform query verification on the installation source of the target application according to the trusted sources in the verification list to verify the security of the installation source. The query verification is used to query the consistency result of the installation source and the trusted source. When the installation source is the same as one of the trusted sources in the verification list, the controller 250 can determine that the installation source is a trusted source.
[0118] For example, the installation source is the official website of the target application, that is, the display device 200 obtains the data required by the target application when performing installation through the target website, and installs the target application according to the data. In the process of verifying the installation source, the controller 250 can query the target website as the installation source in the verification list. If the target website is found in the verification list, it means that the target website is a trusted source. Therefore, the installation source of the target application can be marked as a trusted source.
[0119] S400: If the installation source is a trusted source, add a whitelist mark to the target application, and control the display to display an application interface of the target application on the user interface.
[0120] When the installation source of the target application is a trusted source, it means that before the display device 200 obtains the installation package of the target application, the trusted source has completed the security verification of the target application. Therefore, the display device 200 can directly run the application program of the target application without performing security verification on the target application, so as to save the time of performing security verification on the target application, speed up the application startup speed, and improve the application operation efficiency. In this process, the controller 250 can control the display 260 to display the application interface of the target application in the user interface to prompt the user that the target application has been successfully started.
[0121] However, each time a cold start is performed on the target application, the above process needs to be security verified. Not performing security verification on this cold start process alone cannot affect the verification process when the subsequent target application performs a cold start, which will affect the startup speed of the target application. For this reason, when the installation source of the target application is a trusted source, the controller 250 can also add a whitelist tag to the target application. The whitelist tag is used to indicate that security verification is not performed on the target application. When the controller 250 performs a cold start on the target application again, the controller 250 can directly skip the security verification process according to the whitelist tag. Moreover, since the installation source of the target application has been determined, there is no need to verify the installation source of the target application again in the subsequent cold start process of the target application. Only one installation source verification process is required, so that the subsequent cold start process of the target application does not perform security verification, thereby speeding up the startup speed of the target application.
[0122] In some embodiments, if the installation source is an untrusted source, the display device 200 may have performed security verification on the target application, or may not have performed security verification. Figure 6 As shown, when the installation source is an untrusted source, the controller 250 can obtain the number of times the target application is started, and determine whether the target application is started for the first time based on the number of times. When the target application is not started for the first time, it means that the display device 200 has performed at least one security verification on the target application, and the verification result of the last security verification can be directly used as the verification result of the security verification of this cold start. To this end, when the target application is not started for the first time, the controller 250 can obtain the verification result generated by the security verification performed on the target application during the last startup process. Figure 7As shown, the verification result includes verification success or verification failure. When the verification is successful, it means that the target application has passed the security verification of the display device 200, and the controller 250 can control the display 260 to display the application interface of the target application in the user interface. If the verification fails, it means that the target application did not pass the security verification during the last cold start process. At this time, the controller 250 can terminate the application process of the target application and generate a prompt interface, which includes prompt information for indicating that the target application failed to start, so as to display the prompt interface in the user interface to prompt the user that the target application failed to start.
[0123] In some embodiments, if the target application fails the security verification during the last cold start process, the controller 250 may perform security verification on the target application again to update the verification result of the target application. If the verification result is updated from verification failure to verification success, the controller 250 may run the application process of the target application normally and display the application interface of the target application on the user interface. When the result of the current security verification is verification success, the application interface of the target application is displayed, and the verification result of the target application is updated.
[0124] When the target application is started for the first time, it means that the display device 200 has not performed security verification on the target application, and the security of the target application is unknown. In order to verify the security of the target application, the controller 250 can perform security verification on the target application to generate a verification result. During the cold start process, the controller 250 needs to first assign a new process to the target application, and this new process needs to run in a preset operating environment. For example, the new process assigned by the display device 200 to the target application can run in the Android runtime environment (ART, Android Runtime). In the ART environment, the display device 200 will perform a class verification (Verify Class) operation on the target application by default to verify the code security and integrity of the target application, thereby generating a verification result.
[0125] If there is a security problem with the code of the target application, or the code is incomplete, the display device 200 cannot run the target application normally or safely, and the controller 250 can generate a verification result of verification failure. When the verification fails, the controller 250 generates a prompt interface and controls the display 260 to display the prompt interface on the user interface to prompt the user that the target application failed to start. If there is no security problem with the target application, and the code of the target application is complete, the display device 200 can run normally, the controller 250 can generate a verification result of successful verification, and control the display 260 to display the application interface of the target application on the user interface.
[0126] In some embodiments, when the verification result of the target application is successful, the controller 250 may also add a whitelist mark to the target application to skip the security verification process when the target application is subsequently cold-started. However, during the operation of the target application, it may be attacked by external malicious attacks or network attacks, resulting in reduced security of the target application. Therefore, for target applications from untrusted sources, such as Figure 8 As shown, the controller 250 can set the number of times the whitelist mark is used. For example, the number of times is set to 5 times, that is, within 5 cold starts of the target application, the controller 250 can not perform security verification on the target application through the whitelist mark. At each cold start, when the security verification is not performed on the target application through the whitelist mark, the controller 250 can cancel the number of times the whitelist mark is used. When the number of times the whitelist mark is used is 0, the whitelist mark is invalid. When the target application is cold started next time, the controller 250 needs to re-perform security verification on the target application and add the whitelist mark again according to the verification result.
[0127] When the target application is started, it needs to occupy a certain amount of system memory, which causes the display device 200 to run lag. In order to alleviate the lag of the display device 200, before the target application is started, the controller 250 will perform a memory recycling to delete the memory that has not been called for a long time in the system memory and the redundant data in the system memory to release the memory space of the display device 200. However, when there is sufficient memory margin in the system memory, executing memory recycling will occupy some processing threads of the display device 200, and these occupied processing threads will affect the startup speed of the target application.
[0128] Based on the above scenario, the controller 250 can determine whether to perform memory recycling according to the system memory margin. To this end, the controller 250 can obtain the occupied memory of the target application, and the occupied memory may include the running memory occupied by the target application during the startup process and the storage memory occupied by the cached data of the target application. The controller 250 can perform a memory check on the system memory margin of the display device according to the occupied memory to determine whether the system memory margin has enough memory space to start the target application. If the system memory margin is less than or equal to the occupied memory, it means that the target application does not have enough memory to run, so the controller 250 needs to perform memory recycling to free up memory space. The display device 200 can call a first task process, and the first task process is used to indicate the recycling of system redundant data. When the system memory margin is less than or equal to the occupied memory, the controller 250 can recycle the system redundant data by executing the first task process to release the running space for the target application.
[0129] In some embodiments, Fig. 9As shown, if the system memory margin of the display device 200 is greater than the occupied memory, it means that the system memory margin includes enough memory to run the target application, and the controller 250 can directly start the target application without executing the first task process to release memory space. Therefore, in order to avoid occupying the processing thread due to memory recovery when starting the target application, the controller 250 can also not execute the first task process, that is, run the application process of the target application while skipping the first task process, so as to control the display 260 to display the application interface of the target application in the user interface. In this embodiment, the display device 200 reduces the processing threads occupied by the display device 200 by skipping the first task process, thereby processing the thread application in running the application process to increase the startup speed of the target application.
[0130] After the target application is started, the controller 250 will update the system memory margin according to the occupied memory of the target application, that is, calculate the difference between the original system memory margin and the occupied memory, and obtain the updated system memory margin. In order to ensure the normal operation of the display device 200, the controller 250 will reserve part of the memory as a spare memory to avoid the increase of memory usage of some application processes during operation, and the system memory margin has no memory to allocate, resulting in the failure of the application process to run. To this end, the controller 250 can set a memory margin threshold according to the spare memory, wherein the memory margin threshold can include multiple forms, for example, the memory margin threshold can be a specific memory amount value, such as the memory margin threshold is 1GB, that is, the system memory margin of the display device 200 should be greater than or equal to 1GB. The memory margin threshold can also be a percentage value, such as the memory margin threshold is 10%, that is, the percentage of the system memory margin of the display device 200 should be greater than or equal to 10%, thereby improving the smoothness of the operation of the display device 200.
[0131] To this end, in some embodiments, such as Fig.10 As shown, after the target application is started, the controller 250 can compare the updated system memory margin with the memory margin threshold. If the updated system memory margin is less than or equal to the memory margin threshold, the controller 250 can execute the first task process to recycle system redundant data, free up memory space, and make the system memory margin greater than the memory margin threshold. If the updated system memory margin is greater than the memory margin threshold, there is no need to release the memory space, and the controller 250 can directly run the application process of the target application.
[0132] When running the target application, it is necessary to ensure that the application version of the target application is compatible with the version system of the display device 200 to reduce the running problems caused by different versions. To this end, the display device 200 can determine the executable application process according to the system version. The application process needs to be run under the version system that is compatible with its operation. When the system of the display device 200 does not support the running of the application process, forcibly running the application process may cause the program process to freeze, freeze or report errors, affecting the smoothness of the running of the application process.
[0133] When the application version of the target application is incompatible with the version system of the display device 200, the display device 200 can update the target application to upgrade the application version to a version compatible with the version system of the display device 200. The display device 200 can update and upgrade the target application to enable the target application to obtain new functions and fix program errors of the target application, thereby improving the stability and security of the display device 200 running the target application.
[0134] In some embodiments, the display device 200 may continuously and automatically detect the updateable version information of the target application, or the user may manually query the updateable version information of the target application through the update function of the display device 200. When the updateable version information is detected, the display device 200 may establish a communication connection with the server 400 through the communication device 220 to request an update data packet from the server 400, and perform an application update on the target application according to the update data packet to upgrade the update version.
[0135] In some embodiments, Fig.11 As shown, the display device 200 can automatically generate an application update request, or generate an application update request through an update instruction input by a user, and send the update request to the server 400. The application update request is used to instruct the server 400 to detect the version to be updated of the target application. The server 400 can obtain an update data packet of the target application according to the version to be updated, and feed the update data packet back to the display device 200, so that the display device 200 executes an update on the target application according to the update data packet.
[0136] The application update request may include the current application version of the target application, and the server 400 may obtain an update data packet based on the current application version and the latest application version. Among them, there may be multiple application versions between the current application version and the latest application version. In order to update the target application to the latest application version, the display device 200 needs to update the target application in sequence according to the update order of the versions. In the above scenario, the controller 250 will receive the update data packets sent by the server 400 in sequence according to the update order of the versions, and execute the update process for the target application in sequence according to the update order of the versions.
[0137] After the target application is updated, the application data of the target application also changes with the version update. Therefore, the controller 250 needs to perform security verification on the updated target application again. Fig.11 After completing the application update of the target application, the controller 250 can update the installation source of the target application according to the data source of the update data packet, and perform query verification on the updated installation source. If the updated installation source is a trusted source, it means that the data source of the target application program updated this time is a trusted source. Therefore, the controller 250 can add a whitelist mark to the updated target application to not perform security verification on the updated target application, thereby increasing the startup speed of the updated target application. Since the target application is updated, the updated application interface may change relative to the original application interface. Therefore, when the controller 250 runs the updated target application, the updated application interface can be obtained, and the display 260 can be controlled to display the updated application interface.
[0138] If the updated installation source is not a trusted source, it means that the data source of the target application is not a trusted source. The update process of the target application may have security issues. Fig.12 As shown, the controller 250 needs to perform security verification on the updated target application and obtain the update verification result. If the update verification result is successful, the controller 250 can start the application process of the updated target application and control the display 260 to display the updated application interface of the target application on the user interface. If the update verification result is successful, the application process of the target application is terminated.
[0139] It should be noted that the first startup after the target application is updated, or after the target application is uninstalled and then reinstalled is a cold start. If the installation source is an untrusted source, the controller 250 needs to directly perform security verification on the target application.
[0140] In some embodiments, the controller 250 may obtain redundant data once every certain period of time during the operation of the display device 200. The controller 250 may set a data detection duration, and after the data detection duration is set, perform redundant data detection on the system memory to obtain system redundant data, so that when the controller 250 starts the target application, it can clear the system redundant data by executing the first task process to release memory space.
[0141] Some embodiments of the present application also provide an application acceleration startup method, which is applied to a display device 200. To facilitate the execution of the above method, the display device 200 should at least include a display 260 and a controller 250. The display 260 is configured to display a user interface, and the user interface includes an application control. The method includes:
[0142] S100: In response to a startup instruction for starting a target application, obtaining an installation source of the target application.
[0143] The installation source is the data source called when installing the target application.
[0144] S200: Obtain a verification list.
[0145] The verification list includes a trusted source for obtaining the application, and the trusted source is an installation source that has performed security verification on the application.
[0146] S300: Perform query verification on the installation source according to the verification list.
[0147] The query verification is used to check the consistency between the installation source and the trusted source.
[0148] S400: If the installation source is a trusted source, add a whitelist mark to the target application, and control the display to display an application interface of the target application on the user interface.
[0149] The whitelist mark is used to indicate that security verification is not performed on the target application.
[0150] It can be seen from the above technical solutions that the present application provides a display device and an application accelerated startup method, wherein the method responds to the startup instruction of the target application and obtains the data source required by the target application when performing the installation. The installation source is verified through the trusted sources in the verification list of the application. If the installation source is a trusted source, a whitelist mark is added to the target application. The whitelist mark is used to indicate that security verification is not performed on the target application, thereby controlling the display to display the application interface corresponding to the target application in the user interface. The present application verifies the installation source of the target application. When the installation source is a trusted source, the security verification process of the target application is skipped, thereby saving the startup time of the target application and improving the application startup efficiency. The same and similar parts between the various embodiments in this specification can be referenced to each other and will not be repeated here.
[0151] Those skilled in the art can clearly understand that the technology in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution in the embodiments of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of various embodiments of the present invention or certain parts of the embodiments.
[0152] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, 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 the present application.
[0153] For the convenience of explanation, the above description has been made in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or limit the embodiments to the specific forms disclosed above. Based on the above teachings, various modifications and variations can be obtained. The selection and description of the above embodiments are to better explain the principles and practical applications, so that those skilled in the art can better use the embodiments and various different variations of the embodiments suitable for specific use considerations.
Claims
1. A display device, characterized in that: include: a display configured to display a user interface, the user interface including application controls; The controller is configured as: In response to a startup instruction for starting a target application, obtaining an installation source of the target application, the installation source being a source of data called when installing the target application; Obtaining a verification list, the verification list including trusted sources of the application, the trusted source being an installation source that has performed security verification on the application; Performing query verification on the installation source according to the verification list, the query verification is used to query the consistency result between the installation source and the trusted source; If the installation source is a trusted source, adding a whitelist mark to the target application, and controlling the display to display an application interface of the target application on the user interface; The whitelist mark is used to indicate that security verification is not performed on the target application.
2. The display device according to claim 1, characterized in that If the installation source is an untrusted source, the controller is further configured to: When the target application is not started for the first time, obtaining a verification result of the target application during the last startup process; If the verification is successful, controlling the display to display the application interface of the target application on the user interface; If the verification fails, performing security verification on the target application; When the result of the current security verification is successful, the application interface of the target application is displayed, and the verification result of the target application is updated.
3. The display device according to claim 2, characterized in that When the target application is started for the first time, the controller is further configured to: Performing security verification on the target application to generate a verification result; If the verification is successful, controlling the display to display the application interface of the target application on the user interface; If the verification fails, the display is controlled to display a prompt interface on the user interface, wherein the prompt interface includes prompt information indicating that the target application fails to start.
4. The display device according to claim 1, characterized in that Before the controller executes the step of controlling the display to display the application interface of the target application on the user interface, the controller is further configured to: Obtaining the memory occupied by the target application; Performing memory detection on a system memory margin of the display device according to the occupied memory; If the system memory margin is less than or equal to the occupied memory, the system redundant data is recovered through the first task process.
5. The display device according to claim 4, characterized in that The controller is also configured to: If the system memory margin of the display device is greater than the occupied memory, the display is controlled to display the application interface of the target application in the user interface.
6. The display device according to claim 4, characterized in that After the controller executes the step of controlling the display to display the application interface of the target application on the user interface, the controller is further configured to: Updating the system memory margin according to the occupied memory; If the updated system memory margin is less than or equal to the memory margin threshold, the step of recovering system redundant data through the first task process is executed.
7. The display device according to claim 1, characterized in that After executing the step of querying and verifying the installation source according to the verification list, the controller is further configured to: Obtaining an update data packet of the target application; executing application update on the target application according to the update data packet; After the application update is completed, the installation source of the target application is updated according to the data source of the update data packet.
8. The display device according to claim 7, characterized in that The controller further includes a communication device, wherein the communication device is configured to establish a communication connection with a server, and the controller executes the step of obtaining an update data packet of the target application, which is specifically configured as follows: Sending an application update request to a server, wherein the application update request is used to instruct the server to detect a version of the target application to be updated; Obtain an update data packet fed back by the server according to the version to be updated.
9. The display device according to claim 4, characterized in that: Before the controller executes the step of acquiring the first task progress, the controller is further configured to: Set the data detection duration; At intervals of the data detection time, redundant data detection is performed on the system memory to obtain system redundant data.
10. A method for accelerating the startup of an application, characterized in that: Applied to a display device, the display device includes a display and a controller, the display is configured to display a user interface, the user interface includes an application control; the method includes: In response to a startup instruction for starting a target application, obtaining an installation source of the target application, the installation source being a source of data called when installing the target application; Obtaining a verification list, the verification list including trusted sources of the application, the trusted source being an installation source that has performed security verification on the application; Performing query verification on the installation source according to the verification list, the query verification is used to query the consistency result between the installation source and the trusted source; If the installation source is a trusted source, a whitelist mark is added to the target application, and the display is controlled to display the application interface of the target application in the user interface; the whitelist mark is used to indicate that security verification is not performed on the target application.