CN103106058B - A kind of double-screen display method and intelligent display terminal based on android system - Google Patents
A kind of double-screen display method and intelligent display terminal based on android system Download PDFInfo
- Publication number
- CN103106058B CN103106058B CN201310030743.9A CN201310030743A CN103106058B CN 103106058 B CN103106058 B CN 103106058B CN 201310030743 A CN201310030743 A CN 201310030743A CN 103106058 B CN103106058 B CN 103106058B
- Authority
- CN
- China
- Prior art keywords
- gralloc
- modules
- display screen
- equipment
- frame buffer
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000000872 buffer Substances 0.000 claims abstract description 189
- 238000013507 mapping Methods 0.000 claims description 18
- 238000011068 loading method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 13
- 238000009877 rendering Methods 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 5
- 230000001934 delay Effects 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 47
- 230000008569 process Effects 0.000 description 19
- 239000011800 void material Substances 0.000 description 14
- 230000003139 buffering effect Effects 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Digital Computer Display Output (AREA)
Abstract
The present invention is applied to the communications field there is provided a kind of double-screen display method based on android system and intelligent display terminal, the described method comprises the following steps:The first Gralloc modules and the 2nd Gralloc modules are loaded respectively;Wherein, the first Gralloc modules are bound with the first frame buffer zone equipment and the first display screen;2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen;Control the first display screen to be shown by the first Gralloc modules and the first frame buffer zone equipment and/or control second display screen to be shown with the second frame buffer zone equipment by the 2nd Gralloc modules.So, support shuangping san is achieved that, when two display screens mutually switch, the resolution ratio of two screens is fixed, and window adjustment need not be carried out after tangent screen, tangent screen efficiency is improved.
Description
Technical field
The invention belongs to the communications field, more particularly to a kind of double-screen display method and intelligence based on android system are aobvious
Show terminal.
Background technology
As the technology of the communications field is continued to develop and ripe, in the communication equipment become increasingly popular, particularly intelligence is aobvious
Show terminal(Such as mobile terminal, intelligent television)Middle software function application is increasingly enriched, and the individual demand of user is increasingly
It is many.
Android platform has become one of most important operating system of intelligent display terminal.Although Android platform mesh
Preceding directly support is that single screen is shown, multiple display screens are not supported directly, but due to SurfaceFlinger in android system
Service(Service for management system frame buffer zone equipment)Multiple DisplayHardware can be supported simultaneously(For describing
The object of system display), that is, there is the possibility for supporting multiple display screens simultaneously.At present, Android platform shuangping san is supported
Method it is perfect not enough, its substantially in systems increase by one description display screen DisplayHardware objects, pass through
The object is controlled with the original DisplayHardware objects of system to realize shuangping san and switching display screen.But due to double
Shield in Display Technique, the content that usual two display screen is shown emphasizes particularly on different fields, the requirement to display effect is different, therefore usual two
The resolution ratio of display screen is also different, and existing double-screen display method needs to carry out window adjustment after switching display screen, and not
Two display screens are supported to show simultaneously(I.e. two display screens can only use one).
The content of the invention
In order to solve the above problems, it is an object of the invention to provide a kind of shuangping san side based on android system
Method.
The present invention is achieved in that a kind of double-screen display method based on android system, and methods described includes following
Step:
The first Gralloc modules and the 2nd Gralloc modules are loaded respectively;Wherein, the first Gralloc modules and the first frame
Buffering area equipment and the binding of the first display screen;2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen;
The first display screen is controlled to be shown and/or passed through with the first frame buffer zone equipment by the first Gralloc modules
2nd Gralloc modules are shown with the second frame buffer zone equipment control second display screen.
Further, the first Gralloc modules are entered with the first frame buffer zone equipment and the first display screen using following steps
Row binding:
The graphic buffer that application program in user's space is distributed by the first Gralloc modules application is mapped to should
With in the address space of program;
The graphic buffer applied is rendered into by the application program in user's space by the first frame buffer zone equipment
In first display screen correspondence frame buffer zone;
2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen using following steps:
The graphic buffer that application program in user's space is distributed by the 2nd Gralloc modules application is mapped to should
With in the address space of program;
The graphic buffer applied is rendered into by the application program in user's space by the second frame buffer zone equipment
In the corresponding frame buffer zone of second display screen.
Further, the figure distributed in the application program by user's space by the first Gralloc modules application
Shape Buffer mapping is to also including step before the step in the address space of application program:
It is big with the screen of the first display screen to distribute one to start the first Gralloc equipment in the first Gralloc modules
The small graphic buffer matched;
The graphic buffer distributed in the application program by user's space by the 2nd Gralloc modules application is reflected
Being mapped to before the step in the address space of application program also includes step:
It is big with the screen of second display screen to distribute one to start the 2nd Gralloc equipment in the 2nd Gralloc modules
The small graphic buffer matched.
Another object of the present invention is to provide a kind of intelligent display terminal based on android system, the intelligence shows
Show that terminal includes:
Double Gralloc module loadings modules, for loading the first Gralloc modules and the 2nd Gralloc modules;Wherein,
First Gralloc modules are bound with the first frame buffer zone equipment and the first display screen;2nd Gralloc modules are buffered with the second frame
Area's equipment and second display screen binding;
Display module is controlled, controls the first display screen to carry out with the first frame buffer zone equipment by the first Gralloc modules
Show and/or control second display screen to be shown with the second frame buffer zone equipment by the 2nd Gralloc modules.
Further, the intelligent display terminal also includes:
First binding module, for the first Gralloc modules and the first frame buffer zone equipment and the first display screen to be bound;
Second binding module, for the 2nd Gralloc modules and the first frame buffer zone equipment, second display screen to be bound.
Further, first binding module includes:
First Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into first
The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
First Gralloc modules graphic buffer rendering module, the first frame is passed through for the application program in user's space
The graphic buffer applied is rendered into the first display screen correspondence frame buffer zone by buffering area equipment;
Second binding module includes:
2nd Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into second
The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
2nd Gralloc modules graphic buffer rendering module, the second frame is passed through for the application program in user's space
The graphic buffer applied is rendered into the corresponding frame buffer zone of second display screen by buffering area equipment.
Further, first binding module also includes:First display screen correspondence figure Buffer allocation module, is used for
The first Gralloc equipment started in the first Gralloc modules matches to distribute the screen size of one and the first display screen
Graphic buffer;
Second binding module also includes:
Second display screen correspondence figure Buffer allocation module, for starting second in the 2nd Gralloc modules
The graphic buffer that Gralloc equipment matches to distribute one with the screen size of second display screen.
There are two independent Gralloc modules in the present invention simultaneously, wherein the first Gralloc modules are buffered with the first frame
Area's equipment and the binding of the first display screen, the 2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen.Cause
This, the same time individually can not only show in the first display screen or second display screen(That is the first display screen and the second display
Screen is independent of one another), also support two display screens to show simultaneously.When two display screens mutually switch(Which select by display screen
To show)When, the resolution ratio of two display screens is fixed, and window adjustment need not be carried out after tangent screen(When selecting the first display screen
When, use the first frame buffer zone equipment;When selecting second display screen, the second frame buffer zone equipment is used, therefore not
Need to carry out window adjustment), improve tangent screen efficiency.
Brief description of the drawings
Fig. 1 is the flow chart of the double-screen display method provided in an embodiment of the present invention based on android system;
Fig. 2 is the flow chart of double screen initialization provided in an embodiment of the present invention;
Fig. 3 is FrameBuffer initialization flowcharts provided in an embodiment of the present invention;
Fig. 4 is OpenGL ES initialization flowcharts provided in an embodiment of the present invention;
Fig. 5 is double screen switching flow figure provided in an embodiment of the present invention;
Fig. 6 is the structured flowchart of the intelligent display terminal provided in an embodiment of the present invention based on android system.
Embodiment
In order to make the purpose , technical scheme and advantage of the present invention be clearer, it is right below in conjunction with drawings and Examples
The present invention is further elaborated.It should be appreciated that the specific embodiments described herein are merely illustrative of the present invention, and
It is not used in the restriction present invention.
In android system, the support to hardware is divided into two layers, one layer is user's space, another layer is that kernel is empty
Between, kernel-driven layer operates in kernel spacing, hardware abstraction layer(That is HAL)Operate in user's space.
Hardware abstraction layer, is exactly the encapsulation that layer program is driven to linux kernel in simple terms, interface, screen is provided to upper strata
Cover bottom realizes details.Kernel-driven layer only provides simple access hardware logic, for example, read and write the passage of hardware register,
What what, as having read value from hardware or having write logic of the value into hardware, all it is placed in hardware abstraction layer.
The present embodiments relate to gralloc modules (gralloc is identical with Gralloc, case-insensitive) be hard
Display screen in a module in part level of abstraction, android equipment is abstracted into a frame buffer zone(FrameBuffer),
And gralloc modules then encapsulate all access operation to frame buffer zone.
The application program of user's space first has to load gralloc modules, secondly obtains one before using frame buffer zone
Individual gralloc equipment and a fb equipment(Frame buffer zone equipment).Gralloc equipment is used for distributing graphic buffer, fb equipment
For graphic buffer is rendered into frame buffer zone.
Have after gralloc equipment, the application program in user's space can just apply distributing a block graphics buffering area,
And the address space of this block graphics Buffer mapping to application program is come, so as to write the picture to be drawn to the inside
Content.Finally, the application program in user's space is just by fb equipment by the graphic buffer being above already prepared to
It is rendered into frame buffer zone, i.e., the content of graphic buffer is plotted in display screen, realizes display function.Correspondingly,
When the application program in user's space no longer needs to use a block graphics buffering area, it is possible to pass through gralloc equipment
To discharge it, and by it from address space it is unmapped, so as to no longer realize display function.This is Android system
The general principle that middle control display screen is shown.
In various embodiments of the present invention, the Gralloc modules that the first Gralloc modules can be carried as system are temporarily referred to as
Gralloc0 modules, the first frame buffer zone equipment can be considered as the frame buffer zone equipment that system is carried(That is fb equipment), temporarily claim
For fb0 equipment;2nd Gralloc modules can be considered as a newly-increased Gralloc module of various embodiments of the present invention, temporarily be referred to as
Gralloc1 modules, the second frame buffer zone equipment can be considered as the newly-increased frame buffer zone of one of various embodiments of the present invention and set
It is standby, temporarily it is referred to as fb1 equipment.
The embodiment of the present invention increases Gralloc1 modules and the method for acquisition fb1 equipment newly:Due to each hardware
The module of level of abstraction has an ID value, the function hw_get_ for calling hardware abstraction layer to provide using these ID values as parameter
Module can just arrive specified module loading internal memory, and it is corresponding to open to obtain a hw_module_t interface
Equipment(Such as gralloc equipment or fb equipment), therefore can be by defining the ID values of Gralloc modules and the ID values of fb equipment
To add Gralloc modules and obtain fb equipment.
The ID values of Gralloc modules are defined on android system
In hardware/libhardware/include/hardware/gralloc.h files.
The gralloc1 moulds defined in hardware/libhardware/include/hardware/gralloc.h files
The ID of block is #define GRALLOC_HARDWARE_MODULE_ID1 " gralloc1 " and #define GRALLOC_
HARDWARE_GPU1"gpu1″。
(Gpu1 definition is used to pass through this grand opening gralloc equipment, i.e. function in gralloc.cpp files
Gralloc_device_open () is mainly opening GRALLOC_HARDWARE_GPU(That is " gpu " equipment).
The ID values of the fb1 equipment defined in hardware/libhardware/include/hardware/fb.h files
For #define GRALLOC_HARDWARE_FB0 " fb1 ".
Because the module of each hardware abstraction layer is required for export one entitled
HAL_MODULE_INFO_SYM_AS_STR symbol, that is to say, that in the module of each hardware abstraction layer
Portion, it is necessary to which definition has a variable entitled
HAL_MODULE_INFO_SYM symbol, therefore in two symbols of gralloc1 module definitions:
HAL_MODULE_INFO_SYM_AS_STR_FOR_SND and
HAL_MODULE_INFO_SYM_FOR_SND。
Based on above-mentioned introduction, various embodiments of the present invention are described below.
Fig. 1 shows the flow of the double-screen display method provided in an embodiment of the present invention based on android system, is described in detail such as
Under:
In step S101, when android system starts, Gralloc0 modules are loaded, meanwhile, also load Gralloc1
Module.
In the present embodiment, Gralloc1 modules are that the Gralloc0 modules carried according to android system are extended,
It can be identical with Gralloc0 modules.Now, just there are 2 Gralloc modules in the android system of the present embodiment.
Before the step is implemented, first Gralloc0 modules and fb0 equipment and the first display screen are bound, the present invention is used as
Embodiment, it is described to include Gralloc0 modules and fb0 equipment and the binding of the first display screen:
The graphic buffer that application program in user's space is distributed by the application of Gralloc0 modules is mapped to application
In the address space of program;
The graphic buffer applied is rendered into the first display screen by the application program in user's space by fb0 equipment
In corresponding frame buffer zone.
As embodiments of the invention, system Gralloc0 modules Shen is passed through in the application program by user's space
The graphic buffer that please be distributed, which is mapped to before the step in the address space of application program, also includes step:
Start the first Gralloc equipment in Gralloc0 modules to distribute the screen size phase of one and the first display screen
The graphic buffer of matching.
Before the step is implemented, in addition it is also necessary to which Gralloc1 modules and fb1 equipment and second display screen are bound.
It is described the step of bind Gralloc1 modules and fb1 equipment and second display screen as embodiments of the invention
Including:
The graphic buffer that application program in user's space is distributed by the application of Gralloc1 modules is mapped to application
In the address space of program;
The graphic buffer applied is rendered into second display screen by the application program in user's space by fb1 equipment
In corresponding frame buffer zone.
In the present embodiment, the figure distributed in the application program by user's space by the application of Gralloc1 modules
Shape Buffer mapping is to also including step before the step in the address space of application program:
Start the 2nd Gralloc equipment in Gralloc1 modules to distribute the screen size phase of one and second display screen
The graphic buffer of matching.
In step s 102, the first display screen is controlled to be shown and/or passed through by Gralloc0 modules and fb0 equipment
Gralloc1 modules are shown with fb1 equipment control second display screen.
I.e. when needing to switch to the first display screen to be shown, pass through Gralloc0 modules and fb0 equipment control first
Display screen is shown;When needing to switch to second display screen to be shown, controlled by Gralloc1 modules and fb1 equipment
Second display screen is shown;When needing two display screens to be shown, controlled by Gralloc0 modules and fb0 equipment
First display screen shown, meanwhile, control second display screen to be shown with fb1 equipment by Gralloc1 modules.
The present embodiment described in detail below controls the detailed process that the first display screen and/or second display screen are shown,
Its initialization for mainly including double screen and the handoff procedure of double screen.
Refering to Fig. 2,3,4 and 5, wherein, Fig. 2 shows the implementation stream of the initialization for the double screen that inventive embodiments are provided
Journey, Fig. 3 shows the FrameBuffer initialization flows that inventive embodiments are provided, and Fig. 4 shows provided in an embodiment of the present invention
OpenGL ES initialize flow.
Under single display screen pattern, all display output work can only be carried out on this display screen, and in dual display
Under screen pattern, due to adding gralloc1 modules within the system, and gralloc0 modules are that fb0 device maps have been arrived use
Family space is simultaneously bound with the first display screen, and gralloc1 modules are then that fb1 device maps have been arrived user's space and shown with second
Display screen is bound, so display output work just has three kinds of possible situations:Individually on the first display screen and second display screen
Show, while showing screen displays at two.
Refering to Fig. 2, it is double screen initialization idiographic flow, all preparations before display output is completed in its initialization procedure
Work, mainly includes both sides work:One is the initialization of FrameBuffer (frame buffer zone)(Refering to Fig. 3);The second is
OpenGL ES(OpenGL ES are a kind of three dimentional graph display API, belong to OpenGL 3-D graphic API subset, are mainly used in
The embedded devices such as mobile phone, PDA and game host)Initialization(Refering to Fig. 4).Wherein, DisplayHardware0 and
The process and principle of FrameBuffer and OpenGL ES initialization in DisplayHardware1 objects are essentially the same, mainly
Difference is that parameter therein is different.It is specific that details are as follows:
In step s 201, the SurfaceFlinger services to management system frame buffer zone equipment are initialized.
System_init processes are Android initialization processes, and when Android starts, it can start first.This step
It is rapid to complete the establishment of SurfaceFlinger services mainly in System_init processes, and created
By calling its internal status_t SurfaceFlinger when SurfaceFlinger is serviced::ReadyToRun () letter
Count up into initial work.
In step S202, the object DisplayHardware0 of the display screen of description system first is initialized.
The each element created in SurfaceFlinger classes in the array of pointers that a length is 2, array is all pointed to
One represent corresponding display screen DisplayHardware objects, performing status_t SurfaceFlinger::
When code in readyToRun () carries out SurfaceFlinger service initialisations, respectively the first display screen and second shows
Display screen creates a DisplayHardware object, respectively DisplayHardware0 and DisplayHardware1, then
Two DisplayHardware pointers for allowing SurfaceFlinger to service are respectively directed to the two DisplayHardware pairs
As.
When creating DisplayHardware objects, it is by calling the void DisplayHardware of its own::
Init (uint32_t dpy) function completes initial work.
In step S203, to connection OpenGL storehouses and Android UI systems
FramebufferNativeWindow0 objects are initialized.
In step S204, OpenGL ES0 are initialized.
In step S205, the DisplayHardware1 objects for describing system second display screen are initialized.
In step S206, to connection OpenGL storehouses and Android UI systems
FramebufferNativeWindow1 objects are initialized.
In step S207, OpenGL ES1 are initialized.
In step S208, the drawing surface where the object for describing the display screen of system first and drawing context are set
Drawing surface and the drawing context of thread are rendered for the UI of the service of management system frame buffer zone.
After the initialization is completed, it can't be used directly to the UI of rendering system to DisplayHardware objects, because
Drawing surface that it is initialized and drawing context be not as the drawing surface of current thread and drawing context.
This is due to that SurfaceFlinger services can be while support multiple DisplayHardware objects, i.e., while supporting multiple
What display screen was caused.
It is as described above, although to be initialized in the member function readyToRun of SurfaceFlinger classes
Two objects of DisplayHardware0 and DisplayHardware1, and the two objects are all in SurfaceFlinger clothes
The UI of business renders what is created in thread, is shown if system is started into the first display screen of acquiescence, in order to set it as system
Main display, i.e., main drawing surface, the member function readyToRun of SurfaceFlinger classes is finally called
Drawing surface where it and drawing context are set to by DisplayHardware0 member function makeCurrent
The UI of SurfaceFlinger services renders drawing surface and the drawing context of thread.
EGLBoolean eglMakeCurrent are called in function void makeCurrent () const
(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx) function will be created
Drawing surface and drawing context be set to drawing surface and the drawing context of current thread, that is, be set to
The UI of SurfaceFlinger services renders drawing surface and the drawing context of thread.So system completes to give tacit consent to after starting
Shown by the first display screen.
It is FrameBuffer initialization flow provided in an embodiment of the present invention, when it is implemented, needing difference refering to Fig. 3
Frame buffer zone FrameBuffer0 corresponding to the first display screen initialization, and the corresponding frame buffer zone of second display screen
FrameBuffer1 initialization.
In step S301, gralloc module of the loading encapsulation to the operation of frame buffer zone.
Specifically, when carrying out the corresponding frame buffer zone FrameBuffer0 of the first display screen initialization, it is loaded with encapsulation
To the gralloc0 modules of frame buffer zone FrameBuffer0 operation;And carrying out the corresponding frame buffer zone of second display screen
During FrameBuffer1 initialization, then loading encapsulates the gralloc1 moulds of the operation to frame buffer zone FrameBuffer1
Block.
In step s 302, frame buffer zone equipment and gralloc equipment are opened.
Specifically, when carrying out the corresponding frame buffer zone FrameBuffer0 of the first display screen initialization, fb0 equipment is opened
With the first Gralloc equipment(Temporarily it is referred to as gralloc0 equipment).And carrying out the corresponding frame buffer zone of second display screen
During FrameBuffer1 initialization, then fb1 equipment and the 2nd Gralloc equipment are opened(Temporarily it is referred to as gralloc1 equipment).
In step S303, by system-frame Buffer mapping into current process space.
Specifically, when carrying out the corresponding frame buffer zone FrameBuffer0 of the first display screen initialization, by fb0 equipment institute
The system-frame Buffer mapping of description is into current process space.And carrying out the corresponding frame buffer zone of second display screen
During FrameBuffer1 initialization, by the system-frame Buffer mapping described by fb1 equipment into current process space.
In step s 304, equipment of the encapsulation to the operation of frame buffer zone is opened.
The process of the corresponding frame buffer zone FrameBuffer0 of first display screen initialization is:Loading encapsulation is slow to the frame
Rush the gralloc0 modules of area FrameBuffer0 operation, open fb0 equipment and gralloc0 equipment, and by fb0 equipment institute
The system-frame Buffer mapping of description obtains and initialized the display screen in OpenGL ES storehouses into current process space, then, i.e.,
First display screen of DisplayHardware0 object factories.
The process of the corresponding frame buffer zone FrameBuffer1 of second display screen initialization is:Loading encapsulation is slow to the frame
The module gralloc1 modules of area FrameBuffer1 operation are rushed, fb1 equipment and gralloc1 equipment are opened, and fb1 is set
Standby described system-frame Buffer mapping obtains and initialized the display in OpenGL ES storehouses into current process space, then
Screen, the i.e. second display screen of DisplayHardware1 object factories.
Fig. 4 shows OpenGL ES initialization flow provided in an embodiment of the present invention, and details are as follows:
In step S401, the display screen in initialization OpengGL storehouses is obtained.
In step S402, the system main drawing surface described by FramebufferNativeWindow objects is obtained
Configuration information.
In step S403, main drawing surface and the context of system are created.
In the present embodiment, constructed during DisplayHardware is constructed
FramebufferNativeWindow, and initialized in FramebufferNativeWindow construction process
FrameBuffer.I.e. create FramebufferNativeWindow objects, and be stored in DisplayHardware classes into
In member's variable mNativeWindow, for managing hardware frame buffer.There is this FramebufferNativeWindow pairs
As after, it is possible to believed by the dot density and refreshing frequency of a fb equipment to obtain hardware frame buffer inside it etc.
Breath.FramebufferNativeWindow classes are used to manage hardware frame buffer, for local in OpenGL storehouses and Android
Connection is set up between window system, in this manner it is possible to be distributed using its member function dequeueBuffer for OpenGL storehouses
Graphics adapter buffering area, and OpenGL has been had been filled with to the figure of UI data using its member function queueBuffer
Shape buffering area is rendered into hardware frame buffer.
The graphic buffer that FramebufferNativeWindow classes are used is directly to be distributed in hardware frame buffer,
And these graphic buffers directly can be rendered into hardware frame buffer by it.To be distributed from hardware frame buffer and
Graphic buffer is rendered, just has to come the gralloc module loadings in HAL layers to the current process space, and open
The gralloc equipment and fb equipment of the inside, wherein, gralloc equipment is used for distributing graphic buffer, and fb equipment is used for rendering
Graphic buffer.And a type of FramebufferNativeWindow classes is alloc_device_t* member variable
The member variable fbDev that grDev and type is framebuffer_device_t*, they are respectively directed in HAL layers
The gralloc equipment and fb equipment of gralloc modules.
By changing FramebufferNativeWindow constructed fuction, by DisplayHardware::init
Dpy parameters in (uint32_t dpy) function are used as the parameter of FramebufferNativeWindow constructed fuctions, i.e. basis
Dpy value creates corresponding gralloc equipment and fb equipment(During dpy=0, gralloc0 equipment and fb0 equipment are created;dpy=1
When, create gralloc1 equipment and fb1 equipment.), so that by the first display screen described by DisplayHardware0 with
Gralloc0 equipment, fb0 apparatus bounds, by the second display screen described by DisplayHardware1 and gralloc1 equipment,
Fb1 apparatus bounds.The graphic buffer that the application program in user's space is distributed by the application of gralloc0 modules maps
Into the address space of application program, application program in user's space is by fb0 equipment by the graphic buffer applied
It is rendered into the FrameBuffer0 of frame buffer zone.So, the content of graphic buffer is plotted to DisplayHardware0 pairs
In the first display screen as described in.The figure that the application program in user's space is distributed by the application of gralloc1 modules simultaneously
Shape Buffer mapping is into the address space of application program, and the application program in user's space will have been applied by fb1 equipment
Graphic buffer be rendered into the FrameBuffer1 of frame buffer zone, so, the content of graphic buffer is plotted to
In the second display screen of DisplayHardware1 object factories.
For gralloc modules, function hw_get_module (const char*id, const struct hw_
Module_t**module effect) is to check whether to deposit successively in catalogue/system/lib/hw and/vendor/lib/hw
In file:gralloc.<ro.hardware>.so、gralloc.<ro.product.board>.so、gralloc.<
ro.board.platform>.so、gralloc.<ro.arch>.so, as long as one of file is present, function hw_get_
Module will stop search procedure, and call another function load that this file is loaded into internal memory.Separately
On the one hand, if not depositing these files in/system/lib/hw and/vendor/lib/hw, then function hw_get_
Module will search whether the text that there is an entitled gralloc.default.so in catalogue/system/lib/hw
Part.If it exists, so also can call function load load it into internal memory.
In Linux system, the file of suffix entitled " so " is dynamic link library file, can be added by function dlopen
It is downloaded in internal memory.Each hardware abstraction layer module must export a designation for HAL_MODULE_ in Android
INFO_SYM_AS_STR symbol.In each HAL inside modules, while in the presence of an entitled HAL_MODULE_ of variable
INFO_SYM symbol, its value is corresponding with grand HAL_MODULE_INFO_SYM_AS_STR.
After gralloc module loadings are come into internal memory, it is possible to which call function dlsym accords with to obtain derived from its institute
Number HMI.What it is due to the sensing of this symbol is a hw_module_t structure, and caller obtains this hw_module_t knots
After structure body pointer, it is possible to create a gralloc equipment or a fb equipment.
There is the member variable methods that a type is hw_module_methods_t in hw_module_t structures,
For describing the operating method list of a HAL module.Structure hw_module_methods_t has only defined an operation side
Method open, for opening the equipment specified.In gralloc modules, it is designated as the function of opening designated equipment
Gralloc_device_open, the gralloc equipment or fb that can be just opened by this function in gralloc modules is set
It is standby.
As described above, the ID values of gralloc0 modules are GRALLOC_HARDWARE_MODULE_ID, gralloc1 modules
ID values be GRALLOC_HARDWARE_MODULE_ID1, function hw_get_module opens corresponding according to dpy parameters
Gralloc modules, i.e., carry out the gralloc module loadings in HAL layers to current process, and according to dpy parameter call functions
Framebuffer_open and gralloc_open open fb equipment and gralloc equipment in gralloc modules respectively.
As it was previously stated, in FramebufferNativeWindow constructed fuction incoming parameter dpy, function hw_get_
Module can open gralloc0 equipment or gralloc1 equipment, framebuffer_open meetings according to incoming dpy selections
Fb0 equipment or fb1 equipment are opened according to incoming dpy selections, gralloc_open can select to open according to incoming dpy
Gpu0 or gpu1.After fb equipment and gralloc equipment in gralloc modules are opened, just it is stored in respectively
In the member variable fbDev and grDev of FramebufferNativeWindow classes.According to above establishment two
DisplayHardware objects, here gralloc0 modules and newly-increased grallco1 modules all open, in order to preserve
The fb1 equipment and gralloc1 equipment opened in gralloc1 modules, are increased newly into FramebufferNativeWindow classes
Member's variable fbDev4Snd and grDev4Snd.
Open after fb equipment, call function mapFrameBuffer is used for obtaining the information of system frame buffer zone, and will
System-frame Buffer mapping comes to the address space of current process.And function mapFrameBuffer is called
MapFrameBufferLocked () function, in mapFrameBufferLocked () function, still exists according to dpy parameters
Checked in system device file/dev/graphics/fb0 ,/dev/fb0 ,/dev/graphics/fb1 or/
dev/fb1.If it exists, so opening it with regard to call function open, and obtained filec descriptor is stored in
In variable fd.So, following function mapFrameBufferLocked just can by filec descriptor fd come with kernel
The interaction of frame buffer zone driver.As it was previously stated, gralloc0 modules and newly-increased grallco1 modules are all opened, and two
Device file fb0 and fb1 are opened.
Fig. 5 is double screen switching flow provided in an embodiment of the present invention, and its substantially process is as follows:When switching display screen event hair
When raw, SurfaceComposerClient can obtain sensing SurfaceFlinger IBinder objects first, then
SurfaceFlinger tangent screen processing method static native void changeScreen (int are accessed by it
Screen), and using the display screen number after tangent screen as parameter SurfaceFlinger is passed to, SurfaceFlinger is according to setting
Standby number is handled accordingly.
Double screen switching detailed process is described as follows:
In step S501, screen number to be shown is inputted.The screen number to be shown refers to the display screen reference numeral after tangent screen.
In the present embodiment, screen number to be shown include 0,1 or 2 these three.0 represents the first display screen, and 1, which represents second, shows
Display screen, 2 represent while using first and second display screen.
Whether in step S502, it is 0 to judge screen number to be shown.When screen number to be shown is 0, step S503 is performed, it is no
Then perform step S504.
In step S503, the Displayware0 objects for setting description system display are currently used display screen.
Perform after the step, jumped to step S507.
Whether in step S504, it is 1 to judge screen number to be shown.If 1, then step S505 is performed, step is otherwise performed
Rapid S506.
In step S505, the Displayware1 objects for setting description system display are currently used display screen.
Perform after the step, jumped to step S507.
In step S506, the Displayware0 objects and Displayware1 objects for setting description system display are
Currently used display screen.
In step s 507, operation processing mark is set.
In step S508, judging circular wait, whether event occurs.Continued waiting for if not(Perform repeatedly
Step S508)If event occurs, step S509 is performed.
In step S509, operation processing request has been set, processing operation is carried out.
In step S510, analysis operation processing identifies and judges whether it is tangent screen event.When for tangent screen event, perform
Step S511, otherwise terminates whole tangent screen flow.
In step S511, the object of corresponding description system display is found according to screen number to be shown.
In step S512, by the drawing surface where the object of description system display to be shown and drawing context
The UI for being set to the service of management system frame buffer zone renders drawing surface and the drawing context of thread.
In step S513, output display content again.
For processing screens switch, SurfaceFlinger increases static native void changeScreen (int newly
Screen) function is used to complete corresponding processing, and the SurfaceFlinger letter is called in SurfaceComposerClient
During number, tangent screen parameter passes to the function, and the function is first by calling void setCurrentDisplayId (int32_t
Dpy currently used screen) is specified, if parameter is equal to 0, specifies the first display screen of Displayware0 object factories to work as
The preceding screen used.If parameter is equal to 1, the second display screen for specifying Displayware1 object factories is currently used screen
Curtain.If parameter is equal to 2, specify simultaneously the first display screen of Displayware0 object factories for currently used screen with
And the second display screen of specified Displayware1 object factories is currently used screen(I.e. currently used double screen).
As it was previously stated, in double screen initialization procedure, being initialized Displayware0 objects and Displayware1 pairs
As, and by the first display screen of Displayware0 object factories and gralloc0 apparatus bounds, Displayware1 objects are retouched
The second display screen stated and gralloc1 apparatus bounds, and open gralloc0 equipment, fb0 equipment, gralloc1 equipment and
Fb1 equipment.So when parameter is equal to 2, can by the first display screen of Displayware0 object factories and
The second display screen of Displayware1 object factories is all appointed as currently used screen.Then call function is passed through
Uint32_t setTransactionFlags (uint32_t flags, nsecs_t delay=0) operation processing mark is set.
SurfaceFlinger enters bool threadLoop () letter as a service processes after its startup is finished
The generation of circular wait event in number, due in static native void changeScreen (int screen) function
In by calling uint32_tsetTransactionFlags, (function of uint32_t flags, nsecs_t delay=0) is carried
Go out operation processing request, therefore bool threadLoop () will learn that event needs processing, and processing is transferred to
Void handle Transaction (uint32_t transactionFlags) functions are completed.
In function void handle Transaction (uint32_t transactionFlags), it passes through first
The worth of analysis transactionFlags knows that processing event is display screen handover event, then by calling void
InitializeHW () function deactivates the display screen after switching.
The display screen being being currently used is deactivated by performing function void initializeHW ().In void
In initializeHW () function, corresponding DisplayHardware pairs is found according to set display screen number first
As then calling DisplayHardware void makeCurrent () const functions by the drawing surface where it
And drawing context is set to the UI of SurfaceFlinger services and renders drawing surface and the drawing context of thread.
EGLBoolean eglMakeCurrent are called in function void makeCurrent () const
(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx) is by painting for creating
Chart face and drawing context are set to drawing surface and the drawing context of current thread, that is, are set to
The UI of SurfaceFlinger services renders drawing surface and the drawing context of thread.
After void initializeHW () function has been performed, voidSurfaceFlinger is called::
HandleRepaint () function makes SurfaceFlinger show display content on current display screen.
Fig. 6 shows the structure of the intelligent display terminal based on android system, and the intelligent display terminal includes:It is double
Gralloc module loadings module 21 and control display module 24.
Double Gralloc module loadings modules 21 are used for when android system starts, and load Gralloc0 modules, meanwhile,
Also load Gralloc1 modules;Display module 24 is controlled to control the first display screen to carry out by Gralloc0 modules and fb0 equipment
Show and/or control second display screen to be shown with fb1 equipment by Gralloc1 modules.Wherein, Gralloc0 modules with
Fb0 equipment and the binding of the first display screen;Gralloc1 modules are bound with fb1 equipment and second display screen.
As embodiments of the invention, the intelligent display terminal also includes the first binding module 22 and the second binding module
23.First binding module 22 is used to bind Gralloc0 modules and fb0 equipment and the first display screen;Second binding module 23
For Gralloc1 modules and fb1 equipment and second display screen to be bound.
As embodiments of the invention, first binding module 22 includes:Gralloc0 module figure Buffer mappings
Module 221 and Gralloc0 modules graphic buffer rendering module 222.
Gralloc0 module figure Buffer mappings module 221 is used to the application program in user's space passing through system
The graphic buffer of Gralloc0 modules application distribution is mapped in the address space of application program;Gralloc0 modules figure delays
Application program that area's rendering module 222 is used in user's space is rushed by the first frame buffer zone equipment fb0 by the figure applied
Shape buffering area is rendered into the first display screen correspondence frame buffer zone.
As embodiments of the invention, first binding module 22 also includes:First display screen correspondence graphic buffer
Distribute module 220, first display screen correspondence figure Buffer allocation module 220 is used for the screen for distributing first display screen
The graphic buffer that size matches.
As embodiments of the invention, second binding module 23 includes:Gralloc1 module figure Buffer mappings
Module 231 and Gralloc1 modules graphic buffer rendering module 232.Gralloc1 module figure Buffer mapping modules
231, which are used for the graphic buffer of distributing the application program in user's space by the application of Gralloc1 modules, is mapped to and applies journey
In the address space of sequence;The application program that Gralloc1 modules graphic buffer rendering module 232 is used in user's space passes through
The graphic buffer applied is rendered into the corresponding frame buffer zone of second display screen by the second frame buffer zone equipment fb1.
As embodiments of the invention, second binding module 23 also includes:Second display screen correspondence graphic buffer
Distribute module 230, second display screen correspondence figure Buffer allocation module 230 is used for the screen for distributing a second display screen
The graphic buffer that size matches.
In summary, after user extends a Gralloc module, due to there are two independent Gralloc simultaneously
Module, the same time individually can not only show in the first display screen or second display screen(That is the first display screen and second shows
Display screen is independent of one another), also support two display screens to show simultaneously, and when showing simultaneously, can show identical content or
Different contents.And the first frame buffer zone equipment fb0 and the first display screen are bound, the second frame buffer zone equipment fb1 and second shows
Display screen is bound.When two display screens mutually switch(Which select to be shown by display screen)When, the resolution ratio of two screens is fixed,
Window adjustment need not be carried out after tangent screen(When selecting the first display screen, the first frame buffer zone equipment fb0 is used;When
When selecting second display screen, the second frame buffer zone equipment fb1 is used, therefore window adjustment need not be carried out), improve tangent screen effect
Rate.
The foregoing is merely illustrative of the preferred embodiments of the present invention, is not intended to limit the invention, all essences in the present invention
Any modifications, equivalent substitutions and improvements made within refreshing and principle etc., should be included in the scope of the protection.
Claims (7)
1. a kind of double-screen display method based on android system, it is characterised in that the described method comprises the following steps:
The first Gralloc modules and the 2nd Gralloc modules are loaded respectively;Wherein, the first Gralloc modules are buffered with the first frame
Area's equipment and the binding of the first display screen;2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen;
The first display screen is controlled to be shown and/or by second with the first frame buffer zone equipment by the first Gralloc modules
Gralloc modules control second display screen to be shown with the second frame buffer zone equipment, specifically:
The 3-D view engine API of first frame buffer zone, the second frame buffer zone and the android system is carried out initially
Change, the android system completion is given tacit consent to after starting and shown by the first display screen;
When switching the generation of display screen event, by the SurfaceComposer of the android system
Client obtains sensing SurfaceFlinger Ibinder objects, then passes through the Ibinder object accesses
The tangent screen processing method static native changeScreen of the SurfaceFlinger, and by the display screen after tangent screen
Number the SurfaceFlinger is passed to as parameter, the SurfaceFlinger is carried out phase according to the display screen number
The processing answered;
Wherein, the first Gralloc modules are the Gralloc modules that system is carried, and first frame buffer zone equipment is to be
The frame buffer zone equipment that system is carried, the 2nd Gralloc modules are a newly-increased Gralloc modules, and second frame delays
It is a newly-increased frame buffer zone equipment to rush area's equipment;The first Gralloc modules of loading and the 2nd Gralloc modules respectively
Also include before:
The 2nd Gralloc modules are added by defining the ID values of Gralloc modules and the ID values of frame buffer zone and the second frame is slow
Rush area's equipment, and two symbols of definition in the 2nd Gralloc modules:
HAL_MODULE_INFO_SYM_AS_STR_FOR_SND and HAL_MODULE_INFO_SYM_FOR_SND.
2. the double-screen display method according to claim 1 based on android system, it is characterised in that the first Gralloc
Module is bound with the first frame buffer zone equipment and the first display screen using following steps:
The graphic buffer that application program in user's space is distributed by the first Gralloc modules application, which is mapped to, applies journey
In the address space of sequence;
The graphic buffer applied is rendered into first by the application program in user's space by the first frame buffer zone equipment
In display screen correspondence frame buffer zone;
2nd Gralloc modules are bound with the second frame buffer zone equipment and second display screen using following steps:
The graphic buffer that application program in user's space is distributed by the 2nd Gralloc modules application, which is mapped to, applies journey
In the address space of sequence;
The graphic buffer applied is rendered into second by the application program in user's space by the second frame buffer zone equipment
In the corresponding frame buffer zone of display screen.
3. the double-screen display method according to claim 2 based on android system, it is characterised in that will be used described
The graphic buffer that application program in the space of family is distributed by the first Gralloc modules application is mapped to the address of application program
Also include step before step in space:
Start the first Gralloc equipment in the first Gralloc modules to distribute the screen size phase of one and the first display screen
The graphic buffer of matching;
The graphic buffer distributed in the application program by user's space by the 2nd Gralloc modules application is mapped to
Also include step before step in the address space of application program:
Start the 2nd Gralloc equipment in the 2nd Gralloc modules to distribute the screen size phase of one and second display screen
The graphic buffer of matching.
4. a kind of intelligent display terminal based on android system, it is characterised in that the intelligent display terminal includes:
Double Gralloc module loadings modules, for loading the first Gralloc modules and the 2nd Gralloc modules;Wherein, first
Gralloc modules are bound with the first frame buffer zone equipment and the first display screen;2nd Gralloc modules are set with the second frame buffer zone
The binding of standby and second display screen;
Display module is controlled, controls the first display screen to be shown with the first frame buffer zone equipment by the first Gralloc modules
And/or shown by the 2nd Gralloc modules with the second frame buffer zone equipment control second display screen, specifically:
The 3-D view engine API of first frame buffer zone, the second frame buffer zone and the android system is carried out initially
Change, the android system completion is given tacit consent to after starting and shown by the first display screen;
When switching the generation of display screen event, by the SurfaceComposer of the android system
Client obtains sensing SurfaceFlinger Ibinder objects, then passes through the Ibinder object accesses
The tangent screen processing method static native changeScreen of the SurfaceFlinger, and by the display screen after tangent screen
Number the SurfaceFlinger is passed to as parameter, the SurfaceFlinger is carried out phase according to the display screen number
The processing answered;
Wherein, the first Gralloc modules are the Gralloc modules that system is carried, and first frame buffer zone equipment is to be
The frame buffer zone equipment that system is carried, the 2nd Gralloc modules are a newly-increased Gralloc modules, and second frame delays
It is a newly-increased frame buffer zone equipment to rush area's equipment;Described pair of Gralloc module loadings module is loading the first Gralloc moulds
It is additionally operable to before block and the 2nd Gralloc modules:
The 2nd Gralloc modules are added by defining the ID values of Gralloc modules and the ID values of frame buffer zone and the second frame is slow
Rush area's equipment, and two symbols of definition in the 2nd Gralloc modules:
HAL_MODULE_INFO_SYM_AS_STR_FOR_SND and HAL_MODULE_IN
FO_SYM_FOR_SND。
5. the intelligent display terminal according to claim 4 based on android system, it is characterised in that the intelligence shows
Show that terminal also includes:
First binding module, for the first Gralloc modules and the first frame buffer zone equipment and the first display screen to be bound;
Second binding module, for the 2nd Gralloc modules and the first frame buffer zone equipment, second display screen to be bound.
6. the intelligent display terminal according to claim 5 based on android system, it is characterised in that described first ties up
Cover half block includes:
First Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into first
The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
First Gralloc modules graphic buffer rendering module, is buffered for the application program in user's space by the first frame
The graphic buffer applied is rendered into the first display screen correspondence frame buffer zone by area's equipment;
Second binding module includes:
2nd Gralloc module figure Buffer mapping modules, for the application program in user's space to be passed through into second
The graphic buffer of Gralloc modules application distribution is mapped in the address space of application program;
2nd Gralloc modules graphic buffer rendering module, is buffered for the application program in user's space by the second frame
The graphic buffer applied is rendered into the corresponding frame buffer zone of second display screen by area's equipment.
7. the intelligent display terminal according to claim 6 based on android system, it is characterised in that described first ties up
Cover half block also includes:
First display screen correspondence figure Buffer allocation module, sets for starting the first Gralloc in the first Gralloc modules
The standby graphic buffer matched to distribute one with the screen size of the first display screen;
Second binding module also includes:
Second display screen correspondence figure Buffer allocation module, sets for starting the 2nd Gralloc in the 2nd Gralloc modules
The standby graphic buffer matched to distribute one with the screen size of second display screen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310030743.9A CN103106058B (en) | 2013-01-25 | 2013-01-25 | A kind of double-screen display method and intelligent display terminal based on android system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310030743.9A CN103106058B (en) | 2013-01-25 | 2013-01-25 | A kind of double-screen display method and intelligent display terminal based on android system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103106058A CN103106058A (en) | 2013-05-15 |
CN103106058B true CN103106058B (en) | 2017-08-25 |
Family
ID=48313950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310030743.9A Expired - Fee Related CN103106058B (en) | 2013-01-25 | 2013-01-25 | A kind of double-screen display method and intelligent display terminal based on android system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103106058B (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390397B (en) * | 2013-07-24 | 2017-02-08 | 福州瑞芯微电子股份有限公司 | Double screen display device and method based on Android system |
CN103646638B (en) * | 2013-12-25 | 2017-10-10 | 厦门雅迅网络股份有限公司 | A kind of double-screen display method based on Android platform |
CN105786479B (en) * | 2014-12-23 | 2019-05-28 | 联芯科技有限公司 | A kind of synthesis EMS memory management process and system |
CN105930123B (en) * | 2016-04-29 | 2020-02-21 | 联想(北京)有限公司 | Display adjusting method and electronic equipment |
CN106293584A (en) * | 2016-08-05 | 2017-01-04 | 深圳市金立通信设备有限公司 | A kind of double-screen display method and terminal |
CN106354458B (en) * | 2016-08-26 | 2019-09-20 | 青岛海信移动通信技术股份有限公司 | Double-screen display method and device |
CN107817960A (en) * | 2016-09-14 | 2018-03-20 | 中兴通讯股份有限公司 | A kind of screen display method and mobile terminal |
CN107870794B (en) * | 2016-09-23 | 2021-01-19 | 深圳联友科技有限公司 | Vehicle machine sub-region display method and device |
WO2018119709A1 (en) * | 2016-12-27 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | Memory access method, device, and electronic apparatus for multi-os system |
CN106873932B (en) * | 2017-02-17 | 2020-03-03 | 浙江大学 | Android system server side and remote desktop image redirection method and system |
CN108694028B (en) * | 2017-03-15 | 2022-01-07 | 成都理想智美科技有限公司 | Android system-based double-screen display method and electronic equipment |
CN107423012B (en) * | 2017-03-31 | 2018-08-07 | 掌阅科技股份有限公司 | A kind of data display method, device and electronic equipment |
CN109284151B (en) * | 2017-07-19 | 2022-06-07 | 龙芯中科技术股份有限公司 | Display method, display device and readable storage medium |
CN107783749A (en) * | 2017-11-09 | 2018-03-09 | 青岛海信移动通信技术股份有限公司 | A kind of display methods of view data, device and mobile terminal |
CN109978748A (en) * | 2017-12-28 | 2019-07-05 | 上海擎感智能科技有限公司 | Intelligent terminal and its map sharing method and automatic driving vehicle |
CN108536503A (en) * | 2018-03-15 | 2018-09-14 | 北京雷石天地电子技术有限公司 | A kind of method and system of switching display content based on android system |
CN109167875A (en) * | 2018-07-20 | 2019-01-08 | 重庆宝力优特科技有限公司 | Interface display method, electronic equipment and computer readable storage medium |
CN111182356A (en) * | 2019-12-31 | 2020-05-19 | 珠海六点智能科技有限公司 | Method and system for realizing double-screen different display of Android video playing |
CN112631536B (en) * | 2020-12-30 | 2024-03-15 | 南京能瑞自动化设备股份有限公司 | LCD (liquid crystal display) control system and method for energy controller |
CN112988357B (en) * | 2021-04-14 | 2021-07-27 | 湖北亿咖通科技有限公司 | Panoramic image display method, computer storage medium and electronic device |
CN114466231B (en) * | 2021-12-15 | 2024-01-23 | 瑞芯微电子股份有限公司 | Method for receiving and playing hardware source, electronic equipment and display device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768621A (en) * | 2011-11-14 | 2012-11-07 | 深圳市三索科技发展有限公司 | Display method and system of dual-screen electronic device |
-
2013
- 2013-01-25 CN CN201310030743.9A patent/CN103106058B/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768621A (en) * | 2011-11-14 | 2012-11-07 | 深圳市三索科技发展有限公司 | Display method and system of dual-screen electronic device |
Non-Patent Citations (1)
Title |
---|
《android双屏显示的一些修改与尝试》;Xandy;《C博客》;http://blog.csdn.net/sfrysh/article/details/7463335;20120415;第1-19页,附图 * |
Also Published As
Publication number | Publication date |
---|---|
CN103106058A (en) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103106058B (en) | A kind of double-screen display method and intelligent display terminal based on android system | |
US11895184B2 (en) | Peer to peer remote application discovery | |
CN110795195B (en) | Webpage rendering method and device, electronic equipment and storage medium | |
Huang et al. | Programming situational mobile web applications with cloud-mobile convergence: an internetware-oriented approach | |
CN105554015B (en) | The management network and method of multi-tenant container cloud computing system | |
US11838335B2 (en) | Virtual computing system providing local screen sharing from hosted collaboration applications and related methods | |
KR102622820B1 (en) | First-in-first-out functionality for segmented data stream processing | |
CN103067468B (en) | Cloud dispatching method and system thereof | |
CN109076304A (en) | The Application Programming Interface presented for adaptive audio | |
CN108496198A (en) | A kind of image processing method and equipment | |
CN110032413A (en) | A kind of desktop virtualization method, relevant device and computer storage medium | |
CN107292807A (en) | A kind of figure synthetic method, window method to set up and system | |
CN112988400B (en) | Video memory optimization method and device, electronic equipment and readable storage medium | |
US9195429B2 (en) | Multi-user display system and method | |
CN108304234A (en) | A kind of page display method and device | |
CN105847332A (en) | Desktop virtualization method, client device and server-side device | |
CN106445500A (en) | Method, system and terminal equipment for providing user interface | |
CN106354546A (en) | Virtual machine remote control method and system | |
CN106658142A (en) | Interface configuration method and device | |
CN116320469A (en) | Virtualized video encoding and decoding system and method, electronic equipment and storage medium | |
CN105653496A (en) | Electronic equipment and data transmission method thereof | |
Savidis et al. | Distributed interface bits: dynamic dialogue composition from ambient computing resources | |
CN109039686A (en) | A kind of method and device of mix of traffic layout | |
CN103530180B (en) | Method and device for switching storage space of application programs | |
JP2023538916A (en) | Wi-Fi virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170825 |