CN112231088A - Browser process optimization method and display device - Google Patents
Browser process optimization method and display device Download PDFInfo
- Publication number
- CN112231088A CN112231088A CN202011165863.6A CN202011165863A CN112231088A CN 112231088 A CN112231088 A CN 112231088A CN 202011165863 A CN202011165863 A CN 202011165863A CN 112231088 A CN112231088 A CN 112231088A
- Authority
- CN
- China
- Prior art keywords
- window
- url domain
- group
- domain name
- object instance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000005457 optimization Methods 0.000 title claims description 12
- 230000008569 process Effects 0.000 claims abstract description 115
- 238000004891 communication Methods 0.000 claims description 52
- 238000012217 deletion Methods 0.000 claims description 15
- 230000037430 deletion Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 3
- 239000010410 layer Substances 0.000 description 38
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
The URL domain names of window members in the same window group are the same, the URL domain names of window members in different window groups are different, and all the window members of the window group formed by the same URL domain name share a render process module associated with the window group, so that for each window member of the window group, a render ViewHost object instance associated with the window member can communicate with a render View object instance associated with the window member in the render process module through the View identifier of the window member. Therefore, by applying the technical scheme provided by the application, the memory space resource can be saved.
Description
Technical Field
The application relates to the technical field of smart televisions, in particular to a browser process optimization method and display equipment.
Background
At present, a television browser generally has a function of opening a plurality of windows at the same time. Based on this, the current television Browser mostly adopts the multi-process mode as shown in fig. 1, the Browser includes a Browser process module and a plurality of render process modules, each open window (window) in the Browser process module corresponds to a render process module associated with the window, that is, a window solely shares a render process module. In the single process mode, the Browser only exists in one Browser process module, and data resources are shared after all windows are opened.
In summary, each open window of the multi-process mode corresponds to an exclusive render process module, and each process has overhead of process basic resources of the process on the memory, and occupies about 20Mbyte of the memory. Thus, the more the number of the open windows is, the more the basic resource overhead of the render process module shared by each open window is, and the more the available memory of the television system is inevitably occupied.
Disclosure of Invention
In view of this, the present application provides a browser process optimization method and a display device, so as to save memory space resources.
Specifically, the method is realized through the following technical scheme:
according to a first aspect of the present application, there is provided a display device including:
a display;
the controller is coupled with the display, the controller comprises a Browser control process module and a kernel render process module, the Browser process module comprises at least one window group, URL domain names of window members in the same window group are the same, URL domain names of window members in different window groups are different, and the Browser process module is used for executing:
responding to an operation of opening a current window in a browser by a user, and acquiring a URL domain name carried by the current window; if the carried URL domain name is the same as the URL domain name of a window member in a first window group, generating a RenderViewHost object instance associated with the current window and a first View identifier used for representing the current window in the first window group, adding the RenderViewHost object instance into a RenderProcessHost shared by windows in the first window group, triggering a Renderer process module communicated with the RenderProcessHost to create a RenderView object instance associated with the current window, and realizing communication with the RenderViewHost object instance through the first View identifier.
According to a second aspect of the present application, there is provided a Browser process optimization method applied to a Browser process module in a display device controller, where the Browser process module includes at least one window group, URL domain names of window members located in the same window group are the same, and URL domain names of window members located in different window groups are different, including:
responding to an operation of opening a current window in a browser by a user, and acquiring a URL domain name carried by the current window;
if the carried URL domain name is the same as the URL domain name of a window member in a first window group, generating a RenderViewHost object instance associated with the current window and a first View identifier used for representing the current window in the first window group, adding the RenderViewHost object instance into a RenderProcessHost shared by windows in the first window group, triggering a Renderer process module communicated with the RenderProcessHost to create a RenderView object instance associated with the current window, and realizing communication with the RenderViewHost object instance through the first View identifier.
According to the technical scheme, the URL domain names of the window members in the same window group are the same, the URL domain names of the window members in different window groups are different, and all the window members of the window groups formed by the same URL domain names share the render process module associated with the window group, so that the render View host object instance associated with the window member can communicate with the render View object instance associated with the window member in the render process module through the View identifier of the window member for each window member of the window group. Therefore, by applying the technical scheme provided by the application, the memory space resource can be saved.
Drawings
FIG. 1 illustrates a schematic diagram of a prior art multi-modal process, according to some embodiments;
fig. 2 is a schematic diagram illustrating an operational scenario between a display device and a control apparatus according to some embodiments;
a block diagram of a hardware configuration of a display device 200 according to some embodiments is illustrated in fig. 3;
a block diagram of the hardware configuration of the control device 100 according to some embodiments is illustrated in fig. 4;
fig. 5 illustrates a software configuration diagram in the display device 200 according to some embodiments;
FIG. 6 is a schematic diagram illustrating an icon control interface display of an application in the display device 200, according to some embodiments;
FIG. 7 illustrates a flowchart for one implementation of a method for browser process optimization, in accordance with some embodiments;
FIG. 8 is a block diagram illustrating browser process optimization according to some embodiments;
another implementation flow diagram of a browser process optimization method according to some embodiments is illustrated in FIG. 9.
Detailed Description
To make the objects, embodiments and advantages of the present application clearer, the following description of exemplary embodiments of the present application will clearly and completely describe the exemplary embodiments of the present application with reference to the accompanying drawings in the exemplary embodiments of the present application, and it is to be understood that the described exemplary embodiments are only a part of the embodiments of the present application, and not all of the embodiments.
All other embodiments, which can be derived by a person skilled in the art from the exemplary embodiments described herein without inventive step, are intended to be within the scope of the claims appended hereto. In addition, while the disclosure herein has been presented in terms of one or more exemplary examples, it should be appreciated that aspects of the disclosure may be implemented solely as a complete embodiment.
It should be noted that the brief descriptions of the terms in the present application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of the present application. These terms should be understood in their ordinary and customary meaning unless otherwise indicated.
The terms "first," "second," "third," and the like in the description and claims of this application and in the above-described drawings are used for distinguishing between similar or analogous objects or entities and are not necessarily intended to limit the order or sequence of any particular one, Unless otherwise indicated. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein.
Furthermore, the terms "comprises" and "comprising," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a product or device that comprises a list of elements is not necessarily limited to those elements explicitly listed, but may include other elements not expressly listed or inherent to such product or device.
The term "module," as used herein, 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 functionality associated with that element.
The term "remote control" as used in this application refers to a component of an electronic device (such as the display device disclosed in this application) that is typically wirelessly controllable over a relatively short range of distances. Typically using infrared and/or Radio Frequency (RF) signals and/or bluetooth to connect with the electronic device, and may also include WiFi, wireless USB, bluetooth, motion sensor, etc. For example: the hand-held touch remote controller replaces most of the physical built-in hard keys in the common remote control device with the user interface in the touch screen.
The term "gesture" as used in this application refers to a user's behavior through a change in hand shape or an action such as hand motion to convey a desired idea, action, purpose, or result.
Fig. 2 is a schematic diagram illustrating an operation scenario between a display device and a control apparatus according to an embodiment. As shown in fig. 2, the user may operate the display device 200 through the mobile terminal 300 and the control apparatus 100.
In some embodiments, the control apparatus 100 may be a remote controller, and the communication between the remote controller and the display device includes an infrared protocol communication or a bluetooth protocol communication, and other short-distance communication methods, etc., and the display device 200 is controlled by wireless or other wired methods. The user may input a user command through a key on a remote controller, voice input, control panel input, etc. to control the display apparatus 200. Such as: the user can input a corresponding control command through a volume up/down key, a channel control key, up/down/left/right moving keys, a voice input key, a menu key, a power on/off key, etc. on the remote controller, to implement the function of controlling the display device 200.
In some embodiments, mobile terminals, tablets, computers, laptops, and other smart devices may also be used to control the display device 200. For example, the display device 200 is controlled using an application program running on the smart device. The application, through configuration, may provide the user with various controls in an intuitive User Interface (UI) on a screen associated with the smart device.
In some embodiments, the mobile terminal 300 may install a software application with the display device 200 to implement connection communication through a network communication protocol for the purpose of one-to-one control operation and data communication. Such as: the mobile terminal 300 and the display device 200 can establish a control instruction protocol, synchronize a remote control keyboard to the mobile terminal 300, and control the display device 200 by controlling a user interface on the mobile terminal 300. The audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200, so as to realize the synchronous display function.
As also shown in fig. 2, the display apparatus 200 also performs data communication with the server 400 through various communication means. The display device 200 may be allowed to be communicatively connected through a Local Area Network (LAN), a Wireless Local Area Network (WLAN), and other networks. The server 400 may provide various contents and interactions to the display apparatus 200. Illustratively, the display device 200 receives software program updates, or accesses a remotely stored digital media library, by sending and receiving information, as well as Electronic Program Guide (EPG) interactions. The server 400 may be a cluster or a plurality of clusters, and may include one or more types of servers. Other web service contents such as video on demand and advertisement services are provided through the server 400.
The display device 200 may be a liquid crystal display, an OLED display, a projection display device. The particular display device type, size, resolution, etc. are not limiting, and those skilled in the art will appreciate that the display device 200 may be modified in performance and configuration as desired.
The display apparatus 200 may additionally provide an intelligent network tv function of a computer support function including, but not limited to, a network tv, an intelligent tv, an Internet Protocol Tv (IPTV), and the like, in addition to the broadcast receiving tv function.
A hardware configuration block diagram of a display device 200 according to an exemplary embodiment is exemplarily shown in fig. 2.
In some embodiments, at least one of the controller 250, the tuner demodulator 210, the communicator 220, the detector 230, the input/output interface 255, the display 275, the audio output interface 285, the memory 260, the power supply 290, the user interface 265, and the external device interface 240 is included in the display apparatus 200.
In some embodiments, a display 275 receives image signals originating from the first processor output and displays video content and images and components of the menu manipulation interface.
In some embodiments, the display 275, includes a display screen assembly for presenting a picture, and a driving assembly that drives the display of an image.
In some embodiments, the video content is displayed from broadcast television content, or alternatively, from various broadcast signals that may be received via wired or wireless communication protocols. Alternatively, various image contents received from the network communication protocol and sent from the network server side can be displayed.
In some embodiments, the display 275 is used to present a user-manipulated UI interface generated in the display apparatus 200 and used to control the display apparatus 200.
In some embodiments, a driver assembly for driving the display is also included, depending on the type of display 275.
In some embodiments, display 275 is a projection display and may also include a projection device and a projection screen.
In some embodiments, communicator 220 is a component for communicating with external devices or external servers according to various communication protocol types. For example: the communicator may include at least one of a Wifi chip, a bluetooth communication protocol chip, a wired ethernet communication protocol chip, and other network communication protocol chips or near field communication protocol chips, and an infrared receiver.
In some embodiments, the display apparatus 200 may establish control signal and data signal transmission and reception with the external control apparatus 100 or the content providing apparatus through the communicator 220.
In some embodiments, the user interface 265 may be configured to receive infrared control signals from a control device 100 (e.g., an infrared remote control, etc.).
In some embodiments, the detector 230 is a signal used by the display device 200 to collect an external environment or interact with the outside.
In some embodiments, the detector 230 includes a light receiver, a sensor for collecting the intensity of ambient light, and parameters changes can be adaptively displayed by collecting the ambient light, and the like.
In some embodiments, the detector 230 may further include an image collector, such as a camera, etc., which may be configured to collect external environment scenes, collect attributes of the user or gestures interacted with the user, adaptively change display parameters, and recognize user gestures, so as to implement a function of interaction with the user.
In some embodiments, the detector 230 may also include a temperature sensor or the like, such as by sensing ambient temperature.
In some embodiments, the display apparatus 200 may adaptively adjust a display color temperature of an image. For example, the display apparatus 200 may be adjusted to display a cool tone when the temperature is in a high environment, or the display apparatus 200 may be adjusted to display a warm tone when the temperature is in a low environment.
In some embodiments, the detector 230 may also be a sound collector or the like, such as a microphone, which may be used to receive the user's voice. Illustratively, a voice signal including a control instruction of the user to control the display device 200, or to collect an ambient sound for recognizing an ambient scene type, so that the display device 200 can adaptively adapt to an ambient noise.
In some embodiments, as shown in fig. 3, the input/output interface 255 is configured to allow data transfer between the controller 250 and external other devices or other controllers 250. Such as receiving video signal data and audio signal data of an external device, or command instruction data, etc.
In some embodiments, the external device interface 240 may include, but is not limited to, the following: the interface can be any one or more of a high-definition multimedia interface (HDMI), an analog or data high-definition component input interface, a composite video input interface, a USB input interface, an RGB port and the like. The plurality of interfaces may form a composite input/output interface.
In some embodiments, as shown in fig. 3, the tuning demodulator 210 is configured to receive a broadcast television signal through a wired or wireless receiving manner, perform modulation and demodulation processing such as amplification, mixing, resonance, and the like, and demodulate an audio and video signal from a plurality of wireless or wired broadcast television signals, where the audio and video signal may include a television audio and video signal carried in a television channel frequency selected by a user and an EPG data signal.
In some embodiments, the frequency points demodulated by the tuner demodulator 210 are controlled by the controller 250, and the controller 250 can send out control signals according to user selection, so that the modem responds to the television signal frequency selected by the user and modulates and demodulates the television signal carried by the frequency.
In some embodiments, the broadcast television signal may be classified into a terrestrial broadcast signal, a cable broadcast signal, a satellite broadcast signal, an internet broadcast signal, or the like according to the broadcasting system of the television signal. Or may be classified into a digital modulation signal, an analog modulation signal, and the like according to a modulation type. Or the signals are classified into digital signals, analog signals and the like according to the types of the signals.
In some embodiments, the controller 250 and the modem 210 may be located in different separate devices, that is, the modem 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. Therefore, the set top box outputs the television audio and video signals modulated and demodulated by the received broadcast television signals to the main body equipment, and the main body equipment receives the audio and video signals through the first input/output interface.
In some embodiments, the controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in memory. The controller 250 may control the overall operation of the display apparatus 200. For example: in response to receiving a user command for selecting a UI object to be displayed on the display 275, the controller 250 may perform an operation related to the object selected by the user command.
In some embodiments, the object may be any one of selectable objects, such as a hyperlink or an icon. Operations related to the selected object, such as: displaying an operation connected to a hyperlink page, document, image, or the like, or performing an operation of a program corresponding to the icon. The user command for selecting the UI object may be a command input through various input means (e.g., a mouse, a keyboard, a touch pad, etc.) connected to the display apparatus 200 or a voice command corresponding to a voice spoken by the user.
As shown in fig. 3, the controller 250 includes at least one of a Random Access Memory 251 (RAM), a Read-Only Memory 252 (ROM), a video processor 270, an audio processor 280, other processors 253 (e.g., a Graphics Processing Unit (GPU), a Central Processing Unit 254 (CPU), a Communication Interface (Communication Interface), and a Communication Bus 256(Bus), which connects the respective components.
In some embodiments, RAM 251 is used to store temporary data for the operating system or other programs that are running
In some embodiments, ROM 252 is used to store instructions for various system boots.
In some embodiments, the ROM 252 is used to store a Basic Input Output System (BIOS). The system is used for completing power-on self-test of the system, initialization of each functional module in the system, a driver of basic input/output of the system and booting an operating system.
In some embodiments, when the power-on signal is received, the display device 200 starts to power up, the CPU executes the system boot instruction in the ROM 252, and copies the temporary data of the operating system stored in the memory to the RAM 251 so as to start or run the operating system. After the start of the operating system is completed, the CPU copies the temporary data of the various application programs in the memory to the RAM 251, and then, the various application programs are started or run.
In some embodiments, CPU processor 254 is used to execute operating system and application program instructions stored in memory. And executing various application programs, data and contents according to various interactive instructions received from the outside so as to finally display and play various audio and video contents.
In some example embodiments, the CPU processor 254 may comprise a plurality of processors. The plurality of processors may include a main processor and one or more sub-processors. A main processor for performing some operations of the display apparatus 200 in a pre-power-up mode and/or operations of displaying a screen in a normal mode. One or more sub-processors for one operation in a standby mode or the like.
In some embodiments, the graphics processor 253 is used to generate various graphics objects, such as: icons, operation menus, user input instruction display graphics, and the like. The display device comprises an arithmetic unit which carries out operation by receiving various interactive instructions input by a user and displays various objects according to display attributes. And the system comprises a renderer for rendering various objects obtained based on the arithmetic unit, wherein the rendered objects are used for being displayed on a display.
In some embodiments, the video processor 270 is configured to receive an external video signal, and perform video processing such as decompression, decoding, scaling, noise reduction, frame rate conversion, resolution conversion, image synthesis, and the like according to a standard codec protocol of the input signal, so as to obtain a signal that can be displayed or played on the direct display device 200.
In some embodiments, video processor 270 includes a demultiplexing module, a video decoding module, an image synthesis module, a frame rate conversion module, a display formatting module, and the like.
The demultiplexing module is used for demultiplexing the input audio and video data stream, and if the input MPEG-2 is input, the demultiplexing module demultiplexes the input audio and video data stream into a video signal and an audio signal.
And the video decoding module is used for processing the video signal after demultiplexing, including decoding, scaling and the like.
And the image synthesis module is used for carrying out superposition mixing processing on the GUI signal input by the user or generated by the user and the video image after the zooming processing by the graphic generator so as to generate an image signal for display.
The frame rate conversion module is configured to convert an input video frame rate, such as a 60Hz frame rate into a 120Hz frame rate or a 240Hz frame rate, and the normal format is implemented in, for example, an interpolation frame mode.
The display format module is used for converting the received video output signal after the frame rate conversion, and changing the signal to conform to the signal of the display format, such as outputting an RGB data signal.
In some embodiments, the graphics processor 253 and the video processor may be integrated or separately configured, and when the graphics processor and the video processor are integrated, the graphics processor and the video processor may perform processing of graphics signals output to the display, and when the graphics processor and the video processor are separately configured, the graphics processor and the video processor may perform different functions, respectively, for example, a GPU + frc (frame Rate conversion) architecture.
In some embodiments, the audio processor 280 is configured to receive an external audio signal, decompress and decode the received audio signal according to a standard codec protocol of the input signal, and perform noise reduction, digital-to-analog conversion, and amplification processes to obtain an audio signal that can be played in a speaker.
In some embodiments, video processor 270 may comprise one or more chips. The audio processor may also comprise one or more chips.
In some embodiments, the video processor 270 and the audio processor 280 may be separate chips or may be integrated together with the controller in one or more chips.
In some embodiments, the audio output, under the control of controller 250, receives sound signals output by audio processor 280, such as: the speaker 286, and an external sound output terminal of a generating device that can output to an external device, in addition to the speaker carried by the display device 200 itself, such as: external sound interface or earphone interface, etc., and may also include a near field communication module in the communication interface, for example: and the Bluetooth module is used for outputting sound of the Bluetooth loudspeaker.
The power supply 290 supplies power to the display device 200 from the power input from the external power source under the control of the controller 250. The power supply 290 may include a built-in power supply circuit installed inside the display apparatus 200, or may be a power supply interface installed outside the display apparatus 200 to provide an external power supply in the display apparatus 200.
A user interface 265 for receiving an input signal of a user and then transmitting the received user input signal to the controller 250. The user input signal may be a remote controller signal received through an infrared receiver, and various user control signals may be received through the network communication module.
In some embodiments, the user inputs a user command through the control apparatus 100 or the mobile terminal 300, the user input interface responds to the user input through the controller 250 according to the user input, and the display device 200 responds to the user input through the controller 250.
In some embodiments, a user may enter user commands on a Graphical User Interface (GUI) displayed on the display 275, and the user input interface receives the user input commands through the Graphical User Interface (GUI). Alternatively, the user may input the user command by inputting a specific sound or gesture, and the user input interface receives the user input command by recognizing the sound or gesture through the sensor.
In some embodiments, a "user interface" is a media interface for interaction and information exchange between an application or operating system and a user that enables conversion between an internal form of information and a form that is acceptable to the user. A commonly used presentation form of the User Interface is a Graphical User Interface (GUI), which refers to a User Interface related to computer operations and displayed in a graphical manner. It may be an interface element such as an icon, a window, a control, etc. displayed in the display screen of the electronic device, where the control may include a visual interface element such as an icon, a button, a menu, a tab, a text box, a dialog box, a status bar, a navigation bar, a Widget, etc.
The memory 260 includes a memory storing various software modules for driving the display device 200. Such as: various software modules stored in the first memory, including: at least one of a basic module, a detection module, a communication module, a display control module, a browser module, and various service modules.
The base module is a bottom layer software module for signal communication between various hardware in the display device 200 and for sending processing and control signals to the upper layer module. The detection module is used for collecting various information from various sensors or user input interfaces, and the management module is used for performing digital-to-analog conversion and analysis management.
For example, the voice recognition module comprises a voice analysis module and a voice instruction database module. The display control module is used for controlling the display to display the image content, and can be used for playing the multimedia image content, UI interface and other information. And the communication module is used for carrying out control and data communication with external equipment. And the browser module is used for executing a module for data communication between browsing servers. And the service module is used for providing various services and modules including various application programs. Meanwhile, the memory 260 may store a visual effect map for receiving external data and user data, images of various items in various user interfaces, and a focus object, etc.
Fig. 4 exemplarily shows a block diagram of a configuration of the control apparatus 100 according to an exemplary embodiment. As shown in fig. 4, the control apparatus 100 includes a controller 110, a communication interface 130, a user input/output interface, a memory, and a power supply source.
The control device 100 is configured to control the display device 200 and may receive an input operation instruction of a user and convert the operation instruction into an instruction recognizable and responsive by the display device 200, serving as an interaction intermediary between the user and the display device 200. Such as: the user responds to the channel up and down operation by operating the channel up and down keys on the control device 100.
In some embodiments, the control device 100 may be a smart device. Such as: the control apparatus 100 may install various applications that control the display apparatus 200 according to user demands.
In some embodiments, as shown in fig. 3, a mobile terminal 300 or other intelligent electronic device may function similar to the control device 100 after installing an application that manipulates the display device 200. Such as: the user may implement the functions of controlling the physical keys of the device 100 by installing applications, various function keys or virtual buttons of a graphical user interface available on the mobile terminal 300 or other intelligent electronic device.
The controller 110 includes a processor 112 and RAM 113 and ROM 114, a communication interface 130, and a communication bus. The controller is used to control the operation of the control device 100, as well as the communication cooperation between the internal components and the external and internal data processing functions.
The communication interface 130 enables communication of control signals and data signals with the display apparatus 200 under the control of the controller 110. Such as: the received user input signal is transmitted to the display apparatus 200. The communication interface 130 may include at least one of a WiFi chip 131, a bluetooth module 132, an NFC module 133, and other near field communication modules.
A user input/output interface 140, wherein the input interface includes at least one of a microphone 141, a touch pad 142, a sensor 143, keys 144, and other input interfaces. Such as: the user can realize a user instruction input function through actions such as voice, touch, gesture, pressing, and the like, and the input interface converts the received analog signal into a digital signal and converts the digital signal into a corresponding instruction signal, and sends the instruction signal to the display device 200.
The output interface includes an interface that transmits the received user instruction to the display apparatus 200. In some embodiments, the interface may be an infrared interface or a radio frequency interface. Such as: when the infrared signal interface is used, the user input instruction needs to be converted into an infrared control signal according to an infrared control protocol, and the infrared control signal is sent to the display device 200 through the infrared sending module. The following steps are repeated: when the rf signal interface is used, a user input command needs to be converted into a digital signal, and then the digital signal is modulated according to the rf control signal modulation protocol and then transmitted to the display device 200 through the rf transmitting terminal.
In some embodiments, the control device 100 includes at least one of a communication interface 130 and an input-output interface 140. The control device 100 is provided with a communication interface 130, such as: the WiFi, bluetooth, NFC, etc. modules may transmit the user input command to the display device 200 through the WiFi protocol, or the bluetooth protocol, or the NFC protocol code.
A memory 190 for storing various operation programs, data and applications for driving and controlling the control apparatus 200 under the control of the controller. The memory 190 may store various control signal commands input by a user.
And a power supply 180 for providing operational power support to the various elements of the control device 100 under the control of the controller. A battery and associated control circuitry.
In some embodiments, the system may include a Kernel (Kernel), a command parser (shell), a file system, and an application program. The kernel, shell, and file system together make up the basic operating system structure that allows users to manage files, run programs, and use the system. After power-on, the kernel is started, kernel space is activated, hardware is abstracted, hardware parameters are initialized, and virtual memory, a scheduler, signals and interprocess communication (IPC) are operated and maintained. And after the kernel is started, loading the Shell and the user application program. The application program is compiled into machine code after being started, and a process is formed.
Referring to fig. 5, in some embodiments, the system is divided into four layers, which are an Application (Applications) layer (abbreviated as "Application layer"), an Application Framework (Application Framework) layer (abbreviated as "Framework layer"), an Android runtime (Android runtime) and system library layer (abbreviated as "system runtime library layer"), and a kernel layer, respectively, from top to bottom.
In some embodiments, at least one application program runs in the application program layer, and the application programs can be Window (Window) programs carried by an operating system, system setting programs, clock programs, camera applications and the like; or may be an application developed by a third party developer such as a hi program, a karaoke program, a magic mirror program, or the like. In specific implementation, the application packages in the application layer are not limited to the above examples, and may actually include other application packages, which is not limited in this embodiment of the present application.
The framework layer provides an Application Programming Interface (API) and a programming framework for the application program of the application layer. The application framework layer includes a number of predefined functions. The application framework layer acts as a processing center that decides to let the applications in the application layer act. The application program can access the resource in the system and obtain the service of the system in execution through the API interface
As shown in fig. 5, in the embodiment of the present application, the application framework layer includes a manager (Managers), a Content Provider (Content Provider), and the like, where the manager includes at least one of the following modules: an Activity Manager (Activity Manager) is used for interacting with all activities running in the system; the Location Manager (Location Manager) is used for providing the system service or application with the access of the system Location service; a Package Manager (Package Manager) for retrieving various information related to an application Package currently installed on the device; a Notification Manager (Notification Manager) for controlling display and clearing of Notification messages; a Window Manager (Window Manager) is used to manage the icons, windows, toolbars, wallpapers, and desktop components on a user interface.
In some embodiments, the activity manager is to: managing the life cycle of each application program and the general navigation backspacing function, such as controlling the exit of the application program (including switching the user interface currently displayed in the display window to the system desktop), opening, backing (including switching the user interface currently displayed in the display window to the previous user interface of the user interface currently displayed), and the like.
In some embodiments, the window manager is configured to manage all window processes, such as obtaining a display size, determining whether a status bar is available, locking a screen, intercepting a screen, controlling a display change (e.g., zooming out, dithering, distorting, etc.) and the like.
In some embodiments, the system runtime layer provides support for the upper layer, i.e., the framework layer, and when the framework layer is used, the android operating system runs the C/C + + library included in the system runtime layer to implement the functions to be implemented by the framework layer.
In some embodiments, the kernel layer is a layer between hardware and software. As shown in fig. 5, the core layer includes at least one of the following drivers: audio drive, display drive, bluetooth drive, camera drive, WIFI drive, USB drive, HDMI drive, sensor drive (such as fingerprint sensor, temperature sensor, touch sensor, pressure sensor, etc.), and so on.
In some embodiments, the kernel layer further comprises a power driver module for power management.
In some embodiments, software programs and/or modules corresponding to the software architecture of fig. 5 are stored in the first memory or the second memory shown in fig. 3 or fig. 4.
In some embodiments, taking the magic mirror application (photographing application) as an example, when the remote control receiving device receives a remote control input operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the input operation into an original input event (including information such as a value of the input operation, a timestamp of the input operation, etc.). The raw input events are stored at the kernel layer. The application program framework layer obtains an original input event from the kernel layer, identifies a control corresponding to the input event according to the current position of the focus and uses the input operation as a confirmation operation, the control corresponding to the confirmation operation is a control of a magic mirror application icon, the magic mirror application calls an interface of the application framework layer to start the magic mirror application, and then the kernel layer is called to start a camera driver, so that a static image or a video is captured through the camera.
In some embodiments, for a display device with a touch function, taking a split screen operation as an example, the display device receives an input operation (such as a split screen operation) that a user acts on a display screen, and the kernel layer may generate a corresponding input event according to the input operation and report the event to the application framework layer. The window mode (such as multi-window mode) corresponding to the input operation, the position and size of the window and the like are set by an activity manager of the application framework layer. And the window management of the application program framework layer draws a window according to the setting of the activity manager, then sends the drawn window data to the display driver of the kernel layer, and the display driver displays the corresponding application interface in different display areas of the display screen.
In some embodiments, as shown in fig. 6, the application layer containing at least one application may display a corresponding icon control in the display, such as: the system comprises a live television application icon control, a video on demand application icon control, a media center application icon control, an application center icon control, a game application icon control and the like.
In some embodiments, the live television application may provide live television via different signal sources. For example, a live television application may provide television signals using input from cable television, radio broadcasts, satellite services, or other types of live television services. And, the live television application may display video of the live television signal on the display device 200.
In some embodiments, a video-on-demand application may provide video from different storage sources. Unlike live television applications, video on demand provides a video display from some storage source. For example, the video on demand may come from a server side of the cloud storage, from a local hard disk storage containing stored video programs.
In some embodiments, the media center application may provide various applications for multimedia content playback. For example, a media center, which may be other than live television or video on demand, may provide services that a user may access to various images or audio through a media center application.
In some embodiments, an application center may provide storage for various applications. The application may be a game, an application, or some other application associated with a computer system or other device that may be run on the smart television. The application center may obtain these applications from different sources, store them in local storage, and then be operable on the display device 200.
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in detail below with reference to the accompanying drawings and specific embodiments.
The following describes a browser process optimization method provided in the embodiment of the present application:
turning to fig. 7, a flowchart of a browser process optimization method according to some embodiments is illustrated in fig. 7. The execution main body of the flow shown in fig. 7 may be a Browser (control) process module in the display device controller, and the controller further includes: the render process module comprises at least one window group, wherein the URL (Uniform Resource Locator) domain names of window members in the same window group are the same, and the URL domain names of window members in different window groups are different.
The render process module is used for loading, analyzing, typesetting and displaying the browser webpage.
As shown in fig. 7, the process may include the following steps:
In this embodiment, the URL domain name carried by the current window opened by the user in the browser may be the same as the URL domain name of the window opened before, or may be different from the URL domain name of the window opened before, and based on these two cases, different processing may be performed, step 102 is performed for the case that the URL domain name is the same as the URL domain name of the window opened before, and detailed description will be subsequently performed for the case that the URL domain name is different from the URL domain name of the window opened before, which is not described herein again.
In practical application, there may be three types of URLs loaded by the television browser, that is, URLs carried by the current window in this step, and accordingly, the URL domain name of the current window may be obtained specifically according to the implementation manners described in the following three cases:
in the first case: the format of the URL of the http or https protocol is http:// A.B.C/D/E', wherein the B.C is the URL domain name;
in the second case: the URL of the dsmcc protocol is in a format of 'dvb:// ond.tsid.sid.ctag/D', wherein 'ond.tsid.sid' is a URL domain name;
in the third case: a local web page URL in a format such as "file:///a/D/E/. -, where"/"is the URL domain name.
In this embodiment, the RenderViewHost object instance is used to show the content in a window.
The RenderProcessHost object instance is used to control creation and destruction of Renderer Process modules and Inter-Process Communication (IPC) with the respective corresponding Renderer Process modules. As can be seen, a RenderProcessHost object instance is used to describe a Renderprocess module launched by the Brower process module, and a RenderViewHost object instance is used to describe a web page running in a Renderprocess instance.
It should be noted that this process of data interaction between the Browser process module and the render process module through the group identification is called IPC.
The URL domain names of the window members in the first window group are all the same, but are all different from the URL domain names of the window members in the other window groups.
For example, assuming that there are M window groups in the Browser process module, N windows, where M is greater than 0 but less than or equal to N, the first window group can be considered as a window group in which the URL domain of a window member in one of the M window groups is the same as the URL domain of the current window.
The first View identifier is a unique identifier used for representing the current window, and the renderViewhost of the current window can communicate with a renderView object instance in the Renderer process module through the first View identifier.
It should be noted that, each window group has a renderprocessor in the render process module that each window group communicates with, and each window group communicates with the render process module that each window group communicates with, one to one, the render process module, that is, the renderprocessor host that is common to the windows in each window group communicates with the render process in the render process module, as shown in fig. 8, as an embodiment, when each window group is created, a unique group identifier that characterizes the window group may be generated, for each window group, the renderprocessor host of the window group may communicate with the render process in the render associated with the window group through the group identifier of the window group, based on which, the renderprocessor host object instance of the first window group sends a first group identifier (the group identifier in fig. 8) that represents the first window group to the render process module side through the renderprocessor host, and the first process identifier of the first window group is connected to the first process module according to the first group identifier (the first group identifier of the first window) and the first process identifier of the first window group, and the first process identifier of the window group is connected to the first process module (the first process identifier of the render process module, as shown in fig. 8, and then, according to the first View identifier, the RenderView object instance associated with the current window in the Renderer process module realizes the association with the RenderViewHost object instance in the first window group, thereby completing the data exchange.
Based on the above description, while creating the RenderView object instance in the Renderer process module, it is also possible to create a Frame object instance and a Document object instance to load the URL of the current window, where there are 1 main Frame and a plurality of sub-frames included in the main Frame in a window, and the Frame object instance is a Frame in the window. The Document object instance is the Document content parsed out by the web page. Informing the Browser process module through the first group identification to download data and placing the data in the shared memory Sharedmemory, informing the corresponding Renderer process module of the downloading progress and state through the first group identification in the downloading process by the Browser process module, and starting parsing, constructing a DOM tree (document object tree) and a Renderer tree (display content object tree), presenting page content and responding to page operation after the Renderer process module takes out the data from the Sharedmemory according to a preset strategy.
The implementation manner of triggering the Renderer process module in communication with the RenderProcessHost to create the RenderView object instance associated with the current window may be as follows: and triggering the RenderViewHost object instance to send a rendering request carrying the first View identifier to a Renderprocess of a Renderprocess module associated with the first window group, so that the Renderprocess generates a RenderView object instance connected with the Renderprocess according to the rendering request. Therefore, the RenderView object instance associated with the current window can be generated through the carried unique identifier of the current window, and further, the communication with the RenderView object instance can be carried out through the first View identifier.
For the condition that the URL domain name carried by the current window is different from the URL domain names of the window members in each window group, there may be multiple implementation manners, and as proposed in the prior art, a render process module that is exclusively shared by the current window may be established, or the implementation may be performed according to the following embodiment, which specifically is: after responding to the operation of the user to open the current window in the browser in the step, as shown in fig. 8, the method may further include: if the URL domain name carried by the current window is different from the URL domain names of the window members in each window group, establishing a second window group, and generating a RenderViewHost object instance associated with the current window, a RenderProcessHost connected with the RenderViewHost object instance and a second View identifier (View _ id parameter in figure 8) in the second window group; and establishing a render progress module associated with the render processhost, triggering the established render progress module to establish a render View object instance associated with the current window, and realizing communication with the render View object instance through the second View identifier.
The second window group is only used for distinguishing and naming the first window group, and is not particularly specified to a fixed window group.
The second View identifier may be the same as or different from the first View identifier, but is used to uniquely identify the current window.
In this embodiment, establishing a Renderer process module associated with a RenderProcessHost means that a RenderProcess associated with a RenderProcessHost is established at the Renderer process module.
As can be seen, in the technical solution provided in this embodiment, the newly-created second window group may have window members that are the same as the URL domain of the current window, so that each window member in the second window group shares the render process module associated with the second window group, and thus, for each window member in the second window group, the render View host object instance associated with the window member may communicate with the render View object instance associated with the window member in the render process module through the View identifier of the window member. Therefore, by applying the technical scheme provided by the application, the memory space resource can be saved.
Based on the fact that the URL domain names of the window members in each window group are the same, the Browser process module may further include a member list for recording the URL domain names of the window groups, as one embodiment. In this embodiment, the URL domain name of the window member in each window group may be used as the URL domain name of the respective window group.
And judging whether the URL domain name carried by the current window is the same as the URL domain name of the first window group in the member list, and in some embodiments, if the URL domain name carried by the current window is the same as the URL domain name of the first window group in the member list, determining that the URL domain name carried by the current window is the same as the URL domain name of the window member in the first window group. The embodiment can quickly determine which existing window group the URL domain name of the current window specifically belongs to according to the member list.
In some embodiments, if the URL domain name carried by the current window is not the same as the URL domain name of each window group in the member list, it is determined that the URL domain name carried by the current window is different from the URL domain name of the window member in each window group, and if not, it is determined that the URL domain name carried by the current window is not the same as the URL domain name of the window member in each window group. Based on this, a second window set is established as described above. And after the second window group is established, the method may further include: and taking the URL domain name of the current window as the URL domain name of the second window group and recording the URL domain name of the second window group in the member name, so that the Browser process module can quickly determine whether the URL domain name of the window exists according to the member list, and further determine whether to establish the window group belonging to the window or find the window group belonging to the window.
To this end, the entire flow in fig. 7 has been completed.
Therefore, in the technical solution provided by the embodiment of the present application shown in fig. 7, the URL domain names of the window members located in the same window group are the same, the URL domain names of the window members located in different window groups are different, and all the window members of the window group formed by the same URL domain name share the Renderer process module associated with the window group, so that, for each window member of the window group, the RenderViewHost object instance associated with the window member can communicate with the RenderView object instance associated with the window member in the Renderer process module through the View identifier of the window member. Therefore, by applying the technical scheme provided by the application, the memory space resource can be saved.
Before or after the whole process in fig. 7 has been completed, as an embodiment, the following steps may be further included:
and responding to the operation of closing the current window by a user in the browser, triggering a third window group to which the current window belongs to send a deletion instruction to a render process module associated with the third window group, so that the render process module destroys a render View object instance associated with the current window according to the deletion instruction.
And deleting the RenderViewHost object instance associated with the current window by the third window group when a deletion feedback instruction sent by the Renderer process module is obtained.
In this embodiment, the current window refers to a window that the user closes the window that has been opened.
The third window group is only used for a window group which is distinguished from the first window group and the second window group by name, and is not particularly specified to a fixed window group.
The user closes the current window, which means that any process information related to the current window is not accessed subsequently, so that in order to save memory space resources, the process information related to the current window is deleted in the present embodiment, for example, the RenderView object instance associated with the current window and the RenderView object instance associated with the current window in the third window group are destroyed according to the deletion instruction in the present embodiment.
It can be seen that, in the technical solution provided in the embodiment of the present application, the release of the memory space resource is realized by deleting the RenderView object instance associated with the current window and the RenderView host object instance associated with the current window in the third window group.
As an embodiment, after deleting the RenderViewHost object instance associated with the current window by the third window group, the following steps may be further included:
and judging whether the render viewhost object instance exists in the third window group, then,
and if the third window group does not have a render viewhost object instance, deleting the third window group and the corresponding render process module.
After deleting the RenderViewHost object instance associated with the current window by the third window group, it means that there may be other unclosed window members in the third window group.
It is also possible that all window members of the third window group are closed, and the Browser process module to which the third window group belongs and the Renderer process module associated with the third window group are no longer used, and on such a premise, the third window group and the corresponding Renderer process module may be deleted.
It can be seen that, in the technical solution provided in the embodiment of the present application, it is determined that all window members of a window group are closed, and then deletion of the window group and a corresponding render process module is performed, thereby implementing release of memory space resources.
Referring to FIG. 9, a flow diagram of a browser process optimization method according to some embodiments is illustrated in FIG. 9. The execution main body of the flow shown in fig. 9 may be a Browser process module of the display device.
As shown in fig. 9, the process may include the following steps:
And 204, responding to the operation of closing the current window by the user in the browser, triggering a third window group to which the current window belongs to send a deletion instruction to a render process module associated with the third window group, so that the render process module destroys the render view object instance associated with the current window according to the deletion instruction, and deleting the render view host object instance associated with the current window by the third window group when a deletion feedback instruction sent by the render process module is obtained.
In step 205, if the RenderViewHost object instance does not exist in the third window group, the third window group and the corresponding render process module are deleted.
Thus, in the technical solution provided by the process shown in fig. 9, the URL domain names of the window members located in the same window group are the same, the URL domain names of the window members located in different window groups are different, and all the window members of the window group formed with the same URL domain name share the render process module associated with the window group, so that for each window member of the window group, the render View host object instance associated with the window member can communicate with the render View object instance associated with the window member in the render process module through the View identifier of the window member. Therefore, by applying the technical scheme provided by the application, the memory space resources can be saved, and meanwhile, when the window is closed, the render view object instance related to the window and the render view host object instance related to the window are deleted, so that the purpose of releasing the memory space resources is achieved, all window members in the window group to which the window belongs are closed, and the deletion of the window group and the corresponding render process module is implemented, so that the release of the memory space resources is further realized.
To this end, the entire flow in fig. 9 has been completed.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.
The foregoing description, for purposes of explanation, has been presented in conjunction with specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the embodiments to the precise forms disclosed above. Many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles and the practical application, to thereby enable others skilled in the art to best utilize the embodiments and various embodiments with various modifications as are suited to the particular use contemplated.
Claims (10)
1. A display device, comprising:
a display;
a controller coupled with the display, the controller comprising: the Browser process module comprises at least one window group, URL domain names of window members in the same window group are the same, URL domain names of window members in different window groups are different, and the Browser process module is used for executing:
responding to an operation of opening a current window in a browser by a user, and acquiring a URL domain name carried by the current window; if the carried URL domain name is the same as the URL domain name of a window member in a first window group, generating a RenderViewHost object instance associated with the current window and a first View identifier used for representing the current window in the first window group, adding the RenderViewHost object instance into a RenderProcessHost shared by windows in the first window group, triggering a Renderer process module communicated with the RenderProcessHost to create a RenderView object instance associated with the current window, and realizing communication with the RenderViewHost object instance through the first View identifier.
2. The display device according to claim 1, wherein after the operation in response to the user opening the current window in the browser, the controller is further configured to perform:
if the URL domain name carried by the current window is different from the URL domain names of window members in each window group, establishing a second window group, and generating a RenderViewHost object instance associated with the current window, a RenderProcessHost connected with the RenderViewHost object instance and a second View identifier in the second window group; and establishing a render progress module associated with the render processhost, triggering the established render progress module to establish a render View object instance associated with the current window, and realizing communication with the render View object instance through the second View identifier.
3. The display device of claim 2, wherein the Browser process module further comprises a member list for recording URL domain names of the window groups;
and if the URL domain name carried by the current window is the same as the URL domain name of the window member in the first window group, the Browser process module is specifically configured to execute:
if the URL domain name carried by the current window is the same as the URL domain name of a first window group in the member list, determining that the URL domain name carried by the current window is the same as the URL domain name of a window member in the first window group; and/or the first and/or second light sources,
and if the URL domain name carried by the current window is different from the URL domain names of the window members in each window group, the Browser process module is specifically used for executing:
if the URL domain name carried by the current window is different from the URL domain name of each window group in the member list, determining that the URL domain name carried by the current window is different from the URL domain name of the window member in each window group;
after the establishing of the second window group, the Browser process module is further configured to perform:
and taking the URL domain name of the current window as the URL domain name of the second window group and recording the URL domain name of the second window group in the member name.
4. The display device according to any one of claims 1 to 3, wherein the Browser process module is further configured to perform:
and responding to an operation of closing a current window by a user in a browser, triggering a third window group to which the current window belongs to send a deletion instruction to a render process module associated with the third window group, so that the render process module destroys a render View object instance associated with the current window according to the deletion instruction, and deleting the render Viewhost object instance associated with the current window by the third window group when a deletion feedback instruction sent by the render process module is obtained.
5. The display device of claim 4, wherein after the deleting the renderViewHost object instance associated with the current window associated with the third window group, the Browser process module is further configured to perform:
and if the third window group does not have a render viewhost object instance, deleting the third window group and the corresponding render process module.
6. A Browser process optimization method is characterized in that the method is applied to a Browser process module in a display device controller, the Browser process module comprises at least one window group, URL domain names of window members in the same window group are the same, and URL domain names of window members in different window groups are different, and the method comprises the following steps:
responding to an operation of opening a current window in a browser by a user, and acquiring a URL domain name carried by the current window;
if the carried URL domain name is the same as the URL domain name of a window member in a first window group, generating a RenderViewHost object instance associated with the current window and a first View identifier used for representing the current window in the first window group, adding the RenderViewHost object instance into a RenderProcessHost shared by windows in the first window group, triggering a Renderer process module communicated with the RenderProcessHost to create a RenderView object instance associated with the current window, and realizing communication with the RenderViewHost object instance through the first View identifier.
7. The method of claim 6, further comprising, after the operation in response to the user opening the current window in the browser:
if the URL domain name carried by the current window is different from the URL domain names of window members in each window group, establishing a second window group, and generating a RenderViewHost object instance associated with the current window, a RenderProcessHost connected with the RenderViewHost object instance and a second View identifier in the second window group; and establishing a render progress module associated with the render processhost, triggering the established render progress module to establish a render View object instance associated with the current window, and realizing communication with the render View object instance through the second View identifier.
8. The method of claim 7 wherein the Browser process module further comprises a member list for recording URL domain names of window groups;
if the URL domain name carried by the current window is the same as the URL domain name of the window member in the first window group, the method comprises the following steps:
if the URL domain name carried by the current window is the same as the URL domain name of a first window group in the member list, determining that the URL domain name carried by the current window is the same as the URL domain name of a window member in the first window group; and/or the first and/or second light sources,
if the URL domain name carried by the current window is different from the URL domain names of the window members in each window group, the method comprises the following steps:
if the URL domain name carried by the current window is different from the URL domain name of each window group in the member list, determining that the URL domain name carried by the current window is different from the URL domain name of the window member in each window group;
after the establishing of the second window group, further comprising:
and taking the URL domain name of the current window as the URL domain name of the second window group and recording the URL domain name of the second window group in the member name.
9. The method of any one of claims 6 to 8, further comprising:
responding to an operation of closing a current window by a user in a browser, triggering a third window group to which the current window belongs to send a deletion instruction to a render process module associated with the third window group, so that the render process module destroys a render View object instance associated with the current window according to the deletion instruction;
and deleting the RenderViewHost object instance associated with the current window by the third window group when a deletion feedback instruction sent by the Renderer process module is obtained.
10. The method of claim 9, further comprising, after said deleting the RenderViewHost object instance associated with the current window by the third window group:
and if the third window group does not have a render viewhost object instance, deleting the third window group and the corresponding render process module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011165863.6A CN112231088B (en) | 2020-10-27 | 2020-10-27 | Browser process optimization method and display device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011165863.6A CN112231088B (en) | 2020-10-27 | 2020-10-27 | Browser process optimization method and display device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231088A true CN112231088A (en) | 2021-01-15 |
CN112231088B CN112231088B (en) | 2023-10-27 |
Family
ID=74109778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011165863.6A Active CN112231088B (en) | 2020-10-27 | 2020-10-27 | Browser process optimization method and display device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231088B (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365546A (en) * | 2013-08-08 | 2013-10-23 | 贝壳网际(北京)安全技术有限公司 | Browser window creating method and device |
CN103502983A (en) * | 2011-04-28 | 2014-01-08 | 高通股份有限公司 | Memoizing Web-browsing computation with DOM-based isomorphism |
CN103631664A (en) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | Inter-process communication method and device |
US8817054B1 (en) * | 2008-05-13 | 2014-08-26 | Google Inc. | Methods and systems for rendering in a multi-process browser using a shared memory area |
CN106021421A (en) * | 2016-05-13 | 2016-10-12 | 北京视博云科技有限公司 | Method and device for accelerating web page rendering |
CN106888405A (en) * | 2017-01-03 | 2017-06-23 | 青岛海信电器股份有限公司 | Webpage method of adjustment, browser client and system in TV browser |
US9720889B1 (en) * | 2014-07-10 | 2017-08-01 | Google Inc. | Systems and methods for detecting auto-redirecting online content |
CN111538553A (en) * | 2020-04-21 | 2020-08-14 | 招商局金融科技有限公司 | Dual-core Web desktop application access processing method and device and storage medium |
-
2020
- 2020-10-27 CN CN202011165863.6A patent/CN112231088B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8817054B1 (en) * | 2008-05-13 | 2014-08-26 | Google Inc. | Methods and systems for rendering in a multi-process browser using a shared memory area |
CN103502983A (en) * | 2011-04-28 | 2014-01-08 | 高通股份有限公司 | Memoizing Web-browsing computation with DOM-based isomorphism |
CN103365546A (en) * | 2013-08-08 | 2013-10-23 | 贝壳网际(北京)安全技术有限公司 | Browser window creating method and device |
CN103631664A (en) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | Inter-process communication method and device |
US9720889B1 (en) * | 2014-07-10 | 2017-08-01 | Google Inc. | Systems and methods for detecting auto-redirecting online content |
CN106021421A (en) * | 2016-05-13 | 2016-10-12 | 北京视博云科技有限公司 | Method and device for accelerating web page rendering |
CN106888405A (en) * | 2017-01-03 | 2017-06-23 | 青岛海信电器股份有限公司 | Webpage method of adjustment, browser client and system in TV browser |
CN111538553A (en) * | 2020-04-21 | 2020-08-14 | 招商局金融科技有限公司 | Dual-core Web desktop application access processing method and device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN112231088B (en) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019782B (en) | Control method and display device of enhanced audio return channel | |
CN112135180B (en) | Content display method and display equipment | |
CN112306604B (en) | Progress display method and display device for file transmission | |
CN112165640B (en) | Display device | |
CN111970549A (en) | Menu display method and display device | |
CN111954059A (en) | Screen saver display method and display device | |
CN112087671A (en) | Display method and display equipment for control prompt information of input method control | |
CN112269668A (en) | Application resource sharing and display equipment | |
CN112040340A (en) | Resource file acquisition method and display device | |
CN111984167A (en) | Rapid naming method and display device | |
CN114079827A (en) | Menu display method and display device | |
CN113438553B (en) | Display device awakening method and display device | |
CN114390190A (en) | Display equipment and method for monitoring application to start camera | |
CN114302197A (en) | Voice separation control method and display device | |
CN111988646A (en) | User interface display method and display device of application program | |
CN112231088B (en) | Browser process optimization method and display device | |
CN112291600B (en) | Caching method and display device | |
CN111935519B (en) | Channel switching method and display device | |
CN111970554B (en) | Picture display method and display device | |
CN113194355B (en) | Video playing method and display equipment | |
CN113436564B (en) | EPOS display method and display equipment | |
CN112087651B (en) | Method for displaying inquiry information and smart television | |
CN114040341B (en) | Bluetooth broadcast packet reporting processing method and display device | |
CN112257103A (en) | Access right control method and display device | |
CN111913755A (en) | Scanning method of application program and display device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221026 Address after: 83 Intekte Street, Devon, Netherlands Applicant after: VIDAA (Netherlands) International Holdings Ltd. Address before: 9 / F, Hisense south building, 1777 Chuangye Road, Yuehai street, Nanshan District, Shenzhen, Guangdong 518054 Applicant before: HISENSE ELECTRONIC TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |