Electronic device, method, and computer-readable storage medium for maintaining execution of software application

WO2025037842A1PCT designated stage expired Publication Date: 2025-02-20SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/011775
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-20
Filing Date
2024-08-08
Publication Date
2025-02-20

Smart Images

  • Figure KR2024011775_20022025_PF_FP_ABST
    Figure KR2024011775_20022025_PF_FP_ABST
Patent Text Reader

Abstract

An electronic device, according to one embodiment, may comprise: a display; a processor; and a memory. The processor may be configured to allocate a first buffer area to a software application running in the foreground. The processor may be configured to display, on the display, an execution screen of the software being executed in the foreground by using the first buffer area. The processor may be configured to obtain a first input while displaying the execution screen on the display. The processor may be configured to allocate a second buffer area to the software application on the basis of the first input, and maintain the execution of the software application.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device, method, and computer-readable storage medium for maintaining execution of software applications

[0001] The present disclosure relates to an electronic device, a method, and a computer-readable storage medium for maintaining execution of a software application.

[0002] Recently, the proliferation of various types of electronic devices, such as smartphones, tablet PCs (personal computers), augmented reality (AR) devices, virtual reality (VR) devices, and / or smartwatches, has increased. Electronic devices may include one or more displays for displaying at least one piece of content. The electronic devices may distinguish a buffer area in their memory to output information representing at least one piece of content through one or more displays.

[0003] An electronic device according to one embodiment may include a display, a processor, and a memory for storing instructions. The instructions, when executed by the processor, may be configured to cause the electronic device to allocate a first buffer area to a software application running in the foreground. The instructions, when executed by the processor, may be configured to cause the electronic device to display an execution screen of the software running in the foreground on the display using the first buffer area. The instructions, when executed by the processor, may be configured to cause the electronic device to obtain a first input while displaying the execution screen on the display. The instructions, when executed by the processor, may be configured to cause the electronic device to allocate a second buffer area to the software application based on the first input, and to maintain the execution of the software application by allocating the second buffer area to the software application. While the second buffer area is allocated, the execution screen of the software application may not be displayed on the display.

[0004] A computer-readable storage medium storing one or more programs according to one embodiment, wherein the one or more programs, when executed by an electronic device, may be configured to cause the electronic device to allocate a first buffer area to a software application running in the foreground. The one or more programs, when executed by the electronic device, may be configured to cause the electronic device to display an execution screen of the software running in the foreground on the display using the first buffer area. The one or more programs, when executed by the electronic device, may be configured to cause the electronic device to obtain a first input while displaying the execution screen on the display. The one or more programs, when executed by the electronic device, may be configured to cause the electronic device to allocate, based on the first input, a second buffer area corresponding to a virtual display to the software application, and to allocate the second buffer area to the software application, thereby maintaining the execution of the software application. While the second buffer area is allocated, the execution screen of the software application may not be displayed on the display.

[0005] An electronic device according to one embodiment may include a display, a processor, and a memory for storing instructions. The instructions, when executed by the processor, may be configured to cause the electronic device to display a first screen of a first software application on the display based on a normal state. The instructions, when executed by the processor, may be configured to cause the electronic device to receive an input for executing a second software application while the first screen is displayed. The instructions, when executed by the processor, may be configured to cause the electronic device to, based on the input, prioritize processing of the first software application over processing of the second software application. The instructions, when executed by the processor, may be configured to cause the electronic device to display a second screen of the second software application on the display in place of the first screen while prioritizing processing of the first software application over processing of the second software application. The second screen may include a visual object displaying information about the first software application while maintaining priority over processing of the second software application.

[0006] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.

[0007] FIG. 2 illustrates an example block diagram of an electronic device according to one embodiment.

[0008] FIG. 3 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment.

[0009] FIG. 4 illustrates an example of an operation of an electronic device executing a software application in a foreground state according to one embodiment.

[0010] FIG. 5 illustrates an example of a flowchart illustrating an operation of an electronic device according to one embodiment to set a buffer area corresponding to a virtual display.

[0011] FIG. 6 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment.

[0012] FIG. 7 illustrates an example of a flowchart illustrating an operation of an electronic device according to one embodiment of the present invention to provide a notification for entering a second state.

[0013] FIG. 8 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment.

[0014] FIG. 9 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment.

[0015] FIG. 10 illustrates an example of an operation of an electronic device according to one embodiment of the present invention to display another screen by overlaying the screen of a software application.

[0016] FIG. 11 illustrates an example of a flowchart illustrating an operation of an electronic device according to one embodiment to restrict execution of a second software application.

[0017] FIG. 12 illustrates an example flowchart illustrating an operation of an electronic device according to one embodiment of the present invention to provide a notification indicating the execution of a second software application.

[0018] FIG. 13 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment.

[0019] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).

[0020] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

[0021] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

[0022] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).

[0023] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

[0024] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0025] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

[0026] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0027] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).

[0028] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0029] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0030] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0031] The haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0032] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

[0033] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0034] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0035] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).

[0036] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.

[0037] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).

[0038] According to various embodiments, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

[0039] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).

[0040] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102, or 1304) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 1304, or 1308). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In one embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0041] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.

[0042] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

[0043] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0044] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0045] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0046] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0047] FIG. 2 illustrates an example of a block diagram of an electronic device according to one embodiment. The electronic device (101) according to one embodiment may include at least one of a processor (210), a memory (220), a communication circuit (250), and a display (240). The processor (210), the memory (220), the communication circuit (250), and the display (240) may be electrically and / or operably coupled with each other by an electronic component (or electrical component), such as a communication bus. Hereinafter, operably coupled hardware components may mean that a direct connection or an indirect connection is established between the hardware components, either wired or wireless, so that a second hardware component is controlled by a first hardware component among the hardware components. Although illustrated based on different blocks, the embodiment is not limited thereto, and some of the hardware components of FIG. 2 (e.g., at least a portion of the processor (210), the memory (220), and the communication circuit (250)) may be included in a single integrated circuit such as a system on a chip (SoC). The type and / or number of hardware components included in the electronic device (101) is not limited to those illustrated in FIG. 2. For example, the electronic device (101) may include only some of the hardware components illustrated in FIG. 2.

[0048] The processor (210) of the electronic device (101) according to one embodiment may include hardware for processing data based on one or more instructions. The hardware for processing data may include, for example, an arithmetic and logic unit (ALU), a floating point unit (FPU), a field programmable gate array (FPGA), a central processing unit (CPU), and / or an application processor (AP). The processor (120) may have a single-core processor structure, or a multi-core processor structure such as a dual core, a quad core, or a hexa core. The processor (210) may include the processor (120) of FIG. 1.

[0049] The memory (220) of the electronic device (101) according to one embodiment may include a hardware component for storing data and / or instructions input to and / or output from the processor (210) of the electronic device (101). The memory (220) may include, for example, a volatile memory such as a random-access memory (RAM) and / or a non-volatile memory such as a read-only memory (ROM). The volatile memory may include, for example, at least one of a dynamic RAM (DRAM), a static RAM (SRAM), a cache RAM, and a pseudo SRAM (PSRAM). The non-volatile memory may include, for example, at least one of a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a flash memory, a hard disk, a compact disc, a solid state drive (SSD), and an embedded multi media card (eMMC). The memory (220) may include the memory (130) of FIG. 1.

[0050] A display (240) of an electronic device (101) according to one embodiment may output visualized information to a user. For example, the display (240) may be configured to visualize information generated by a processor (210) including a circuit such as a GPU (graphic processing unit). The display (240) may include a flexible display, a flat panel display (FPD), and / or electronic paper. The FPD may include a liquid crystal display (LCD), a plasma display panel (PDP), and / or a plurality of light emitting diodes (LEDs). The LEDs may include organic LEDs (OLEDs).

[0051] According to one embodiment, the display (240) of the electronic device (101) may include a sensor (e.g., a touch sensor panel (TSP)) for detecting an external object (e.g., a user's finger) on the display (240). For example, based on the TSP, the electronic device (101) may detect an external object that is in contact with the display (240) or floating on the display (240). In response to detecting the external object, the electronic device (101) may execute a function related to a specific visual object corresponding to a position of the external object on the display (240) among visual objects displayed within the display (240). The display (240) may include a flexible display having an at least partially curved shape and / or a deformable shape. The display (240) may include the display module (160) of FIG. 1.

[0052] A communication circuit (250) of an electronic device (101) according to one embodiment may include hardware components for supporting transmission and / or reception of data between the electronic device (101) and an external electronic device (e.g., a server). The communication circuit (250) may include, for example, at least one of a modem, an antenna, and an optical / electronic (O / E) converter. The communication circuit (250) may support transmission and / or reception of electrical signals based on various types of protocols, such as Ethernet, a local area network (LAN), a wide area network (WAN), wireless fidelity (WiFi), Bluetooth, Bluetooth low energy (BLE), ZigBee, long term evolution (LTE), and 5G new radio (NR). The electronic device (101) may receive information representing at least one screen (or media content) from a server providing a first software application through the communication circuit (250) based on execution of the first software application.

[0053] According to one embodiment, one or more instructions (or commands) representing operations and / or actions to be performed on data by the processor (210) of the electronic device (101) may be stored in the memory (220) of the electronic device (101). A set of one or more instructions may be referred to as firmware, an operating system, a process, a routine, a sub-routine, and / or an application. For example, the electronic device (101) and / or the processor (210) may perform at least one of the operations of FIG. 3, FIG. 5 to FIG. 9, or FIG. 11 to FIG. 13 when a set of a plurality of instructions distributed in the form of an operating system, firmware, driver, and / or application is executed. Hereinafter, the fact that an application is installed in an electronic device (101) may mean that one or more instructions provided in the form of an application are stored in a memory (220), and that the one or more applications are stored in a format executable by the processor (210) (e.g., a file having an extension specified by the operating system of the electronic device (101). As an example, an application may include a program and / or a library related to a service provided to a user.

[0054] Referring to FIG. 2, programs installed in the electronic device (101) may be included in any one of different layers, including an application layer (221), a framework layer (225), and / or a hardware abstraction layer (HAL) (228), based on the target. For example, programs (e.g., modules or drivers) designed to target the hardware (e.g., display (240)) of the electronic device (101) may be included in the hardware abstraction layer (228). For example, the layers illustrated in the memory (220) of FIG. 2 may be logically separated. However, the present invention is not limited thereto. According to an embodiment, the layers may be stored in a designated area in the memory (220). The elements (e.g., layers and / or modules) in the memory described below may be logically separated. However, the present invention is not limited thereto.

[0055] For example, within the framework layer (225), programs designed to target at least one of the hardware abstraction layer (228) and / or the application layer (221) (e.g., a display controller and / or a virtual display controller (227)) may be included. The programs included in the framework layer (225) may provide an executable API (application programming interface) based on other programs. The electronic device (101) may provide (or output) data representing the execution of at least one of the programs included in the framework layer (225) while maintaining the execution of the said execution.

[0056] For example, a program designed to target a user controlling the electronic device (101) may be included in the application layer (221). Examples of programs included in the application layer (221) include a first software application (223), a second software application (224), and / or a system user interface (UI) (222), but the embodiment is not limited thereto. For example, programs (e.g., software applications) included in the application layer (221) may call an API to cause execution of a function supported by programs included in the framework layer (225). For example, the electronic device (101) may display at least one media content (or screen) on the display (240) based on the execution of the first software application (223). The first software application (223) may be an example of a software application whose execution is at least temporarily suspended in a background state. The electronic device (101) can select a display for outputting at least one media content of the first software application (223) using the system UI (222). The electronic device (101) can display another screen overlapping the screen of the first software application (223) based on the execution of the second software application (224). The other screen may be referred to as an image layer from the perspective of being displayed overlapping the screen.

[0057] According to one embodiment, the electronic device (101) may activate a display group (230) or a virtual display group (231) related to the display manager service (229-1) to output a screen based on the execution of the first software application (223) by using the power manager service (229). According to one embodiment, the electronic device (101) may control power to be transmitted to the display group (230) or the virtual display group (231) in order to activate the display group (230) or the virtual display group (231). For example, when the electronic device (101) processes the execution screen of the first software application (223) by using the virtual display group (231) among the display group (230) and the virtual display group (231), the electronic device (101) may at least temporarily stop power to be transmitted to the display group (230). However, the present invention is not limited thereto.

[0058] According to one embodiment, the electronic device (101) can distinguish hardware and / or software within the electronic device (101) using the power manager service (229). For example, the electronic device (101) can distinguish hardware and / or software within the electronic device (101) to control the display group (230) (or virtual display group (231)). The electronic device (101) can logically include hardware and / or software within the electronic device (101) used to control the virtual display group (231) within the virtual power group (263). The electronic device (101) can include hardware and / or software not related to the virtual display within the default power group (262). For example, the default power group (262) can be related to the display group (230). The power group (261) can be classified into a class for controlling the state of the display group (230) (or virtual display group (231)) using the power manager service (229). By distinguishing the power group (261), the electronic device (101) can drive the state of the hardware (e.g., display (240)) and / or software mapped to the default power group (262) based on a low power state, while driving the state of the hardware and / or software (e.g., virtual display (235)) mapped to the virtual power group (263) based on a normal state. The virtual power group (263) can be mapped to the virtual display group (231). The low power state can include a low power mode and a power saving mode. For example, from the perspective that the electronic device (101) displays at least one screen (AOD screen, always on display screen) on the display based on the low power state, the low power state can be referred to as an AOD mode.

[0059] A display manager service (229-1) according to one embodiment may assign a logical display (e.g., representing an actual display or a virtual display) to a specific display group (e.g., display group (230) or virtual display group (231)) based on a logical display mapper. The logical display is related to hardware and / or software for outputting data for a screen, and may include information about the resolution, density, and screen refresh rate of a screen that can be output by the electronic device (101).

[0060] According to one embodiment, the display group (230) may include hardware and / or software for displaying a screen using the display (240). For example, the display group (230) may logically include the hardware and / or software. The display group (230) may represent a set of hardware and / or software for displaying a screen through a physically existing display (240). For example, the display group (230) may be linked with a driver (271) for managing the display (240) within a kernel area (270) that is not permitted to be accessed by a user. The display group (230) may be referred to as a default display group in the sense that, in a steady state of the electronic device (101), a screen based on the execution of at least one software application within the electronic device (101) is displayed using the display (240) included within the display group (230). The display (240) may be referred to as a default display. The display group (230) can be controlled based on the execution of the display controller.

[0061] A virtual display group (231) according to one embodiment may include hardware and / or software for outputting a screen through a virtual display (235). The virtual display group (231) may be controlled based on the execution of a virtual display controller (227). The virtual display (235) may be an example of a display that does not physically exist, unlike the display (240). The virtual display (235) may be an example of software stored in the electronic device (101). The virtual display (235) may be used to process data (or tasks) for a screen without displaying the screen on the display (240). The electronic device (101) may process data for a screen that is not substantially visible to the user by using the virtual display (235). By processing data for the screen through the virtual display (235), the electronic device (101) may maintain the execution of a software application that provides the screen based on the foreground. For example, a software application in the foreground state may always be visible on the screen, while another software application in the background state may not be visible on the screen.

[0062] For example, the electronic device (101) may notify the user that a task for maintaining the execution of a software application is being processed with priority by displaying a screen acquired while executing a software application in the foreground on the display. The screen displayed on the display may be composed of at least one activity. An activity may represent a component related to at least one task within the operating system (e.g., Android operating system) of the electronic device (101). While executing a software application, the electronic device (101) may define or utilize one or more activities. When executing a software application based on the foreground state, the electronic device may preferentially process the execution of the software application among a plurality of software applications stored in the memory.

[0063] For example, in a background state (or service), the electronic device (101) may, at least temporarily, refrain from displaying a screen related to the software application on the display while executing a software application. The electronic device (101) may execute the software application independently of the user's awareness in the background state (or service).

[0064] For example, the display group (230) and the virtual display group (231) may include a logical display group. The logical display may include information about the resolution, density (e.g., pixel density), and / or refresh rate suitable for the electronic device (101).

[0065] For example, the electronic device (101) can select a group to be activated among the display group (230) and the virtual display group (231) using the power manager service (229). For example, the electronic device (101) can maintain the execution of a software application in the foreground based on another group even if at least one group is deactivated by distinguishing the display group (230) and the virtual display group (231) to be managed through the power manager service (229). The operation of the electronic device (101) selecting the group is described below with reference to FIGS. 3 and 4.

[0066] An electronic device (101) according to one embodiment can display at least one media content of a first software application (223) on a display (240). The electronic device (101) can control a display group (230) to display at least one media content on the display (240). The electronic device (101) can store data for a screen acquired based on the execution of the first software application (223) at least temporarily in a first buffer area (232). The first buffer area (232) can represent a frame buffer of a driver related to a display and a memory area that is at least temporarily used (or occupied) before transmitting data to the display (240). The first buffer area (232) can be a buffer area that is linked to a surface flinger (265). For example, the electronic device (101) can utilize the surface flinger (265) to, in conjunction with a driver associated with the display (240), at least temporarily occupy the data within a first buffer area (232) associated with the display (240). The surface flinger (265) can be utilized to manage at least one screen. The surface flinger (265) can be utilized to adjust the position, display order, and / or color of the at least one screen.

[0067] According to one embodiment, the electronic device (101) can control a virtual display group (231) within a power manager service (229) based on the execution of a virtual display controller (227). For example, the electronic device (101) can use the power manager service (229) to drive hardware and / or software included in the virtual display group (231) to process data (or tasks) for a screen acquired based on the execution of a first software application (223) through the virtual display (235). The electronic device (101) can process the data through the virtual display (235) and temporarily suspend (or refrain) from performing rendering for the screen.

[0068] For example, the electronic device (101) may store the data in a second buffer area (233) corresponding to the virtual display (235) among the first buffer area (232) and the second buffer area (233) in order to process the data through the virtual display (235). The second buffer area (233) may represent an area in which the electronic device (101) at least temporarily stores the data in order to process the data through the virtual display (235). The second buffer area (233) may be an area that is distinct from the first buffer area (232) related to the display (240) among the memory areas related to the surface flinger (265).

[0069] For example, the electronic device (101) may deactivate the display group (230) while activating the virtual display group (231) to store the data in the second buffer area (233) via the power manager service (229). Since the display group (230) is deactivated, the electronic device (101) may deactivate the driving of the display (240). The electronic device (101) may enter a low power state based on the deactivation of the driving of the display (240). The electronic device may at least temporarily suspend the performance of an operation corresponding to an input received through the display (240) based on the low power state (or while the display is deactivated).

[0070] For example, a state in which the electronic device (101) disables the drive to the display (240) may include a doze mode. The doze mode may include a mode in which at least one screen is displayed on the display (240) by at least one processor in a low power state. Within the doze mode, the electronic device may attempt to conserve battery power by limiting application access to the network or limiting intensive memory services. For example, while the display is disabled, the electronic device (101) may not process at least some of the inputs identified via the TSP, but is not limited thereto. The electronic device (101) may activate the display based on identifying an input designated via the TSP (e.g., a double tap).

[0071] According to one embodiment, the electronic device (101) may change the group for processing data for an execution screen of a software application from the display group (230) to the virtual display group (231) based on the execution of the virtual display controller (227). The virtual display controller (227) may change the group for processing data for an execution screen of the software application to the virtual display group (231) by using an API (e.g., move to display API) having an identification factor for the data (e.g., task id) and an identification factor for an available display group within the electronic device (101) (e.g., destination display group id). As an example, the virtual display controller (227) may cause the electronic device (101) to process, among one or more tasks performed within the electronic device (101), a task for an execution screen of the software application by using the virtual display group (231).

[0072] According to one embodiment, the electronic device (101) may deactivate the display group (230) while processing data for an execution screen of a software application based on the virtual display group (231). The electronic device (101) may process the data for the execution screen based on the virtual display group (231) while activating the virtual power group (263) that is distinct from the default power group (262). For example, the electronic device (101) may switch the display group (230) to a sleep state (or low power state). The electronic device (101) may control the default power group (262) related to the display group (230) to switch the display group (230) to the sleep state. Since the electronic device (101) switches the display group (230) to the sleep state, the electronic device (101) may display a screen related to the sleep state (e.g., an AOD screen, an always on display screen) on the display (240).

[0073] As described above, the electronic device (101) according to one embodiment can process data regarding the screen using the display (240) or the virtual display (235). The electronic device (101) can display a screen acquired based on the execution of the first software application (223) on the display (240). The electronic device (101) can maintain the execution of the first software application (223) in the foreground based on the displaying of the screen on the display (240). While maintaining the execution of the first software application (223) in the foreground, the electronic device (101) can receive an input for masking the screen displayed on the display (240) at least temporarily. The input can include an input for turning off the display (240). In response to the input, the electronic device (101) may at least temporarily store data for the screen in a second buffer area (233) corresponding to the virtual display (235) while not displaying the screen on the display (240). The electronic device (101) may maintain execution of the first software application (223) in the foreground based on at least temporarily processing the data through the virtual display (235). The electronic device (101) may maintain execution of the first software application (223) through the virtual display group (231) in an idle state of the display group (230).

[0074] FIG. 3 illustrates an example of a flowchart illustrating the operation of an electronic device according to an embodiment. FIG. 4 illustrates an example of an operation of an electronic device executing a software application in a foreground state according to an embodiment. The electronic device (101) of FIG. 3 and FIG. 4 may include the electronic device (101) of FIG. 1. At least one of the operations of FIG. 3 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2. Each of the operations of FIG. 3 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0075] Referring to FIG. 3, an electronic device according to an embodiment may, in operation 310, allocate a first buffer area of ​​the memory to a software application based on execution of the software application. The software application may be referred to as the first software application (223) of FIG. 2. Allocating the first buffer area to the software application may include configuring the electronic device to at least temporarily store data (e.g., data for a screen) acquired based on execution of the software application within the first buffer area. The first buffer area may be referred to as the first buffer area (232) of FIG. 2.

[0076] Referring to FIG. 3, an electronic device according to one embodiment may, in operation 320, display a screen obtained using a software application on a display corresponding to the first buffer area through the first buffer area. The electronic device may display the screen on a display (e.g., display (240) of FIG. 2) while maintaining execution of the software application in a foreground state.

[0077] Referring to FIG. 4, an electronic device (101) according to one embodiment may, in a state (401), display a screen (410) acquired based on the execution of a first software application (e.g., the first software application (223) of FIG. 2) on a display (240). The electronic device (101) may allocate a first buffer area to the first software application. The electronic device (101) may store data related to the screen acquired based on the execution of the first software application in the first buffer area. The electronic device (101) may control the display (240) to display the screen (410) based on processing (or rendering) the data stored in the first buffer area.

[0078] Referring to FIG. 3, an electronic device according to one embodiment may, at operation 330, obtain an input for executing a software application based on a second state that is distinct from a first state for displaying a screen on the display while displaying a screen. For example, the input for executing the software application based on the second state may include an input for turning off the display. For example, the input for executing the software application based on the second state may include an input for an on-screen icon provided by a system UI (e.g., the system UI (222) of FIG. 2). The second state may be referred to as a low power state, a curtain mode, and / or a screen curtain mode.

[0079] Referring to FIG. 4, in state (402), an electronic device (101) according to one embodiment may display a screen (420) provided by a system UI (e.g., the system UI (222) of FIG. 2) on a display (240). The electronic device (101) may enter state (402) based on a swipe input in a specified direction within a specified area in state (401). The screen (420) may be used by a user of the electronic device (101) to more quickly (or conveniently) execute at least one function of the electronic device (101). The screen (420) may be referred to as a quick panel. The screen (420) may include at least one icon representing at least one function.

[0080] For example, the electronic device (101) may receive input for an icon (421). The icon (421) may correspond to a function for at least temporarily obscuring a screen (410) provided by a software application running in the foreground.

[0081] Referring to FIG. 3, in response to an input, an electronic device according to an embodiment may, in operation 340, allocate a second buffer area (e.g., the second buffer area (233)) corresponding to a virtual display (e.g., the virtual display (235) of FIG. 2) among the first buffer area and the second buffer area to a software application. Based on allocating the second buffer area to the software application, the electronic device may store data representing a screen acquired based on execution of the software application in the second buffer area. For example, the electronic device may process data representing a screen acquired based on execution of the software application based on the input by using a virtual display group (e.g., the virtual display group (231) of FIG. 2). In order to perform processing of data by using the virtual display group, the electronic device may allocate a buffer area in a memory in conjunction with a driver (e.g., a driver related to a display) by using a surface flinger (e.g., the surface flinger (265) of FIG. 2) to allocate the software application in the second buffer area corresponding to the virtual display group. However, it is not limited to this.

[0082] Referring to FIG. 3, an electronic device according to one embodiment may, at operation 350, maintain execution of a software application by utilizing a second buffer area. For example, the electronic device may, based on processing data stored in the second buffer area, output a screen corresponding to the data through a virtual display. The output screen may not be visible to the user because it is output through the virtual display. Even though the output screen is not visible to the user, the electronic device may maintain execution of the software application.

[0083] For example, the electronic device (101) may control a power manager service (e.g., a power manager service (229) of FIG. 2) to at least temporarily disable a display group (e.g., a display group (230) of FIG. 2) based on storing data representing a screen within a second buffer area. Based on the disabling of the display group, the electronic device (101) may turn off the display (240) because processing of a task using the display group is temporarily suspended. However, the present invention is not limited thereto.

[0084] Referring to FIG. 4, in state (403), the electronic device (101) according to one embodiment can deactivate the display (240). The electronic device (101) can turn off the display (240) in response to an input for the icon (421), but is not limited thereto. The electronic device (101) can adjust the intensity of power to be transmitted to the display (240) to a second voltage having a lower voltage than the first voltage in response to the input for the icon (421). Based on transmitting the power having the second voltage to the display (240), the electronic device (101) can enter a low power state for the display (240). Based on transmitting the power having the second voltage to the display (240), the electronic device (101) can display the screen (430). The screen (430) can include an image having a specified color (e.g., black). The screen (430) may include a text object indicating the time. The screen (430) may include information (or limited information) about a software application running in the foreground state. For example, the information may include the package name of the software application and information about the operating status of the software application. If the software application is a software application that provides media content, the screen (430) may include a text object (431) indicating the media content being played (e.g., the title of the media content). The text object (431) may indicate the execution of the software application. The screen (430) may include a text object (432) indicating information about a second state. The screen (430) may be referred to as an AOD (always on display) screen (or black image) from the perspective of being displayed on the display (240) based on a low power state.For example, the AOD screen may be provided by a processor (e.g., a display driver integrated circuit, DDI) that is distinct from the processor (210) of the electronic device (101), but is not limited thereto. For example, the processor (210) of the electronic device (101) may, in an active state, display the screen (430) on the display while maintaining execution of a software application. For example, the processor (210) may provide the other processor with information about the screen (430) including text objects (431, 432). The area of ​​the memory accessible to the other processor may be a memory area distinct from the second buffer area.

[0085] As described above, the electronic device (101) according to one embodiment may receive an input for initiating a designated mode (e.g., curtain mode) while displaying a screen (410) acquired based on the execution of a software application on the display (240). Based on receiving the input, the electronic device (101) may process data for the screen (410) through a virtual display. While processing data through the virtual display, the electronic device (101) may deactivate the display (240). Based on deactivating the display (240), the electronic device (101) may reduce battery power consumption. Based on processing data through the virtual display, the electronic device (101) may provide the user with the same effect as executing a software application using a background service while executing a software application that does not provide a background service in the foreground.

[0086] Hereinafter, with reference to FIG. 5, an operation of an electronic device generating a second buffer area corresponding to a virtual display is described.

[0087] FIG. 5 illustrates an example of a flowchart illustrating an operation of an electronic device according to an embodiment of the present invention to set a buffer area corresponding to a virtual display. The electronic device (101) of FIG. 5 may include the electronic device (101) of FIG. 1. At least one of the operations of FIG. 5 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2. Each of the operations of FIG. 5 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0088] Referring to FIG. 5, at operation 510, a processor according to one embodiment may identify booting of an electronic device. Based on the identified booting, the processor may initiate a system service.

[0089] Referring to FIG. 5, in operation 520, a processor according to an embodiment may create a buffer area corresponding to a virtual display after performing booting. The processor may create a virtual display at the time of initiating a system service based on performing booting. The processor may create (or allocate) a virtual display group (e.g., virtual display group (231) of FIG. 2) for the virtual display. The processor may assign a virtual power group (e.g., virtual power group (263) of FIG. 2) within a power manager service to the virtual display based on performing booting of the electronic device. The processor may create (or allocate) a buffer area (e.g., second buffer area (233) of FIG. 2) for storing data to be processed through the virtual display based on creating the virtual display.

[0090] Referring to FIG. 5, in operation 530, a processor according to an embodiment may map a virtual display group including a virtual display to a power manager service. The processor may map a group (e.g., a virtual power group (263)) within a power manager service (e.g., a power manager service (229) of FIG. 2) to a virtual display group. For example, the processor may place (or match) a virtual display group (e.g., a virtual display group (231) of FIG. 2) within at least one of a plurality of power groups (e.g., a default power group (262) and a virtual power group (263) of FIG. 2) to be managed through the power manager service. However, the present invention is not limited thereto. The processor may activate the virtual display group while deactivating the display group (e.g., the display group (230) of FIG. 2), thereby processing at least a portion of a task being processed using the display group using the virtual display.

[0091] Below, with reference to FIG. 6, an example of an operation of an electronic device to identify a software application that generates storable data within a second buffer area is described.

[0092] FIG. 6 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment. The electronic device (101) of FIG. 6 may include the electronic device (101) of FIG. 1. At least one of the operations of FIG. 6 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2. Each of the operations of FIG. 6 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0093] Referring to FIG. 6, in operation 610, a processor according to one embodiment may execute a software application based on a first state. Based on executing the software application based on the first state, a screen provided by the software application (e.g., screen (410) of FIG. 4) may be displayed on a display. While executing the software application based on the first state, the processor may at least temporarily store data for the screen provided by the software application in a first buffer area corresponding to the display (e.g., display (240) of FIG. 2).

[0094] Referring to FIG. 6, at operation 620, a processor according to one embodiment may determine whether a software application can be executed based on a second state. The second state may include storing a screen provided by the software application in a second buffer area corresponding to a virtual display. The second state may include at least temporarily stopping displaying the screen provided by the software application on a display (e.g., display (240) of FIG. 2).

[0095] Referring to FIG. 6, when a software application can be executed based on a second state (operation 620 - yes), in operation 630, a processor according to an embodiment can execute the software application based on the second state. For example, when the processor processes a task for displaying a screen of the software application based on a wake lock, the execution of the software application can be performed based on the second state. A wake lock may mean that the processor controls the display to maintain the display of the screen, but is not limited thereto.

[0096] For example, a processor may execute a software application based on a wake lock, displaying the screen of a software application for a specified period of time, and then transitioning to a second state after the specified period of time has elapsed. For example, the processor may provide a notification guiding the transition to the second state after displaying the screen of a software application for a specified period of time. However, this is not limited to this.

[0097] For example, based on the execution of a software application based on a second state, the processor may store (or allocate) data (or work) related to the execution of the software application within the second buffer area among the first buffer area and the second buffer area. The processor may process the data stored within the second buffer area through a virtual display. The processor may bypass rendering the screen using the data and process the data through the virtual display.

[0098] Referring to FIG. 6, if the software application cannot be executed based on the second state (operation 620-No), in operation 640, the processor according to one embodiment may execute the software application based on the first state and provide a notification indicating that execution of the software application is restricted based on the second state. The processor may display the notification indicating that execution of the software application is restricted on the display based on the form of a text object based on the second state. The processor may output an audio signal indicating the notification through a speaker, but is not limited thereto.

[0099] Hereinafter, with reference to FIG. 7, an example of an operation of providing a user with a notification guiding the execution of a software application based on a second state to reduce battery current consumption while the electronic device is executing a software application based on a first state is described.

[0100] FIG. 7 illustrates an example of a flowchart illustrating an operation of an electronic device providing a notification for entering a second state according to an embodiment. The electronic device (101) of FIG. 7 may include the electronic device (101) of FIG. 1 . At least one of the operations of FIG. 7 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2 . Each of the operations of FIG. 7 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0101] Referring to FIG. 7, at operation 710, a processor according to one embodiment may execute a software application based on a first state. Operation 710 may correspond to operation 610.

[0102] For example, the processor may determine whether a software application can be executed based on a second state. The operation of determining whether the software application can be executed based on the second state may be referred to as operation 620 of FIG. 6.

[0103] Referring to FIG. 7, at step 720, a processor according to an embodiment may output a notification indicating that a change to a second state is possible based on displaying a screen of a software application for a specified period of time. The processor may output a notification to obtain (or guide) input based on maintaining execution of the software application without receiving input (e.g., user input) for the specified period of time. The specified period of time may include a point in time when the brightness of the screen switches to a threshold brightness. For example, the processor may output the notification after the specified period of time has expired when the software application is executed based on a wake lock without receiving (or automatically) user input for the specified period of time. The user input may include information about the user's gaze identified through a camera.

[0104] For example, the processor may bypass outputting the notification based on running the software application without receiving user input for a specified period of time and continue executing the software application based on the second condition.

[0105] For example, while the processor displays the screen of a software application on a display (e.g., display (240) of FIG. 2) based on a wake lock, the processor may output the notification guiding processing of data for the screen through a virtual display (235) in order to reduce battery power consumption. The first power consumed by the processor to perform the operation of processing the data through the virtual display may be less than the second power consumed to display the screen on the display (e.g., display (240) of FIG. 2). The processor may extend the usage time of the electronic device by receiving an input indicating entry into the second state based on outputting the notification.

[0106] FIG. 8 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment. The electronic device (101) of FIG. 8 may include the electronic device (101) of FIG. 1. At least one of the operations of FIG. 8 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2. Each of the operations of FIG. 8 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0107] Referring to FIG. 8, at operation 810, a processor according to one embodiment may identify an input for disabling a display while executing a software application. The processor may identify the input while executing the software application based on a first state. The processor may identify the input while displaying a screen provided from the software application on a display (e.g., display (240) of FIG. 2).

[0108] Referring to FIG. 8, at operation 820, a processor according to one embodiment may identify whether an input for entering a second state is an input for entering a second state. The processor may identify whether an input for deactivating a display is an input for entering a second state. For example, the processor may identify an input for entering a second state based on identifying an input for an icon (421) of FIG. 4. The processor may identify, in response to an input for a physical button for deactivating a display, that the input is not an input for entering a second state. However, the present invention is not limited thereto.

[0109] Referring to FIG. 8, if the input is not for entering the second state (operation 820 - No), in operation 830, the processor according to one embodiment may deactivate the display. For example, the processor may deactivate the display based on entering an inactive state. The inactive state may include a lock state, a standby state, or a low power state. In the inactive state of the processor, another processor (e.g., a DDI) distinct from the processor may display an AOD screen on the display. If a software application that does not provide a background service is running, the execution of the software application may be at least temporarily suspended (or terminated) based on the processor entering the inactive state. However, the present invention is not limited thereto.

[0110] Referring to FIG. 8, if the input is for entering the second state (operation 820 - Yes), in operation 840, the processor according to one embodiment may identify whether or not the software application can be executed based on the second state. Operation 840 may be referenced in operation 620.

[0111] Referring to FIG. 8, when a software application can be executed based on a second state (operation 840 - Yes), in operation 850, a processor according to an embodiment can process data for the software application through a second buffer area. Operation 850 may be referenced to operation 630. The processor can at least temporarily store the data in the second buffer area to execute the software application based on the second state. Based on allocating the software application to the second buffer area, while maintaining the execution of the software application, a display (e.g., display (240) of FIG. 2) can be controlled based on a second voltage that is lower than a first voltage corresponding to a first state for displaying a screen of the software application.

[0112] For example, if the processor identifies an input for executing the software application based on a second state after allocating a first buffer area to the software application, the processor may allocate a second buffer area to the software application. If the area for storing data provided by the software application is changed, the execution of the software application may be reset (or restarted). The processor may omit an operation of resetting (or terminating and executing) the execution of the software application by identifying information about the second state (e.g., curtain mode) and the virtual display (e.g., virtual display (235) of FIG. 2) corresponding to the second buffer area to maintain the execution of the software application.

[0113] According to one embodiment, a processor may deactivate a display (e.g., display 240 of FIG. 2) while storing data related to the execution of a software application in a second buffer area based on a second state. In order to deactivate the display, the processor may at least temporarily suspend transmission of power to a display group (e.g., display group 230 of FIG. 2) associated with the display. Since the display group associated with the display and the group of virtual displays associated with the virtual display are distinct, when the transmission of power to the display group is at least temporarily suspended, the processor may maintain execution of the software application through the virtual display. According to one embodiment, in order to deactivate the display, the processor may control a power manager service to at least temporarily deactivate a display group associated with the display (e.g., display group 230 of FIG. 2). Since the display group associated with the display and the group of virtual displays associated with the virtual display are distinct, when the display group is temporarily deactivated (or transitioned to an idle state), the processor may maintain execution of the software application through the virtual display.

[0114] According to one embodiment, a processor may allocate a first buffer area among the first buffer area and the second buffer area to the software application based on identifying a designated input (e.g., a double tap) while maintaining execution of the software application using the second buffer area. The processor may store data related to the execution of the software application in the allocated first buffer area. Based on the storing of the data, the processor may display a screen related to the execution of the software application on a display. The designated input may include an input for activating a display (e.g., display (240) of FIG. 2).

[0115] Referring to FIG. 8, if the software application cannot be executed based on the second state (operation 840-No), in operation 860, the processor according to one embodiment may provide a notification indicating that execution of the software application is restricted based on the second state.

[0116] Hereinafter, with reference to FIGS. 9 and 10, an example of an operation of superimposing and displaying different image layers on the entire screen based on the execution of at least one software application while the electronic device is displaying the screen of the software application is described.

[0117] FIG. 9 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment. FIG. 10 illustrates an example of an operation in which an electronic device according to one embodiment displays another screen by overlapping the screen of a software application. The electronic device (101) of FIG. 9 and FIG. 10 may include the electronic device (101) of FIG. 1. At least one of the operations of FIG. 9 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2. Each of the operations of FIG. 9 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0118] Referring to FIG. 9, in operation 910, an electronic device according to one embodiment may display a first screen of a first software application on a display based on a normal state. The normal state may include a state in which a screen based on the execution of the first software application (e.g., the first software application (223) of FIG. 2) is displayed on the display (e.g., the display (240) of FIG. 2). The normal state may include an active state of the display.

[0119] Referring to FIG. 9, in operation 920, an electronic device according to one embodiment may receive an input indicating the execution of a second software application that displays a second screen overlapping the entire first screen while displaying a first screen. The second screen may be referred to as a service-based image layer from the perspective of being displayed overlapping the first screen. The image layer may be composed of view components such as buttons, images, layouts, widgets, and text.

[0120] Referring to FIG. 10, in a state (1001), an electronic device (101) according to an embodiment may display a first screen (410) based on the execution of a first software application (e.g., the first software application (223) of FIG. 2). The state (1001) may be referenced to the state (401). For example, the electronic device (101) may enter the state (1002) in response to an input (e.g., a swipe screen) to display a quick panel (1020) through a system UI (e.g., the system UI (222) of FIG. 2) while displaying the first screen (410). The quick panel (1020) may correspond to the screen (420) of FIG. 4.

[0121] Referring to FIG. 10, in state (1002), an electronic device (101) according to one embodiment may identify an input for an icon (1022) in a quick panel (1020). The quick panel (1020) may include an area (1020-1) indicating a communication link being used by the electronic device (101), an area (1020-2) for arranging icons indicating functions that the electronic device (101) can perform, and / or an area (1020-3) for adjusting the brightness of a display (e.g., display (240) of FIG. 2), but is not limited thereto. The icon (1022) may correspond to at least one function (e.g., curtain mode) and / or a second software application (224) of FIG. 2. The second software application (224) may include a software application configured to change the display to an inactive state and at least temporarily suspend the performance of an operation for input via a TSP. The above-described inactive state may include a low-power state. In response to an input for the icon (1022), the electronic device (101) may call an API to enter a second state distinct from the first state for displaying the first screen (410). The second state may include a state for covering the screen (410) displayed on the display using the foreground. To cover the first screen (410), the electronic device (101) may display the second screen by overlapping the first screen (410).

[0122] Referring to FIG. 9, in operation 930, an electronic device according to one embodiment may display a second screen including a visual object representing information about the first software application, overlapping the entire first screen, while maintaining execution of the first software application. For example, the electronic device may perform processing for the first software application with priority over processing for the second software application. The electronic device (101) may execute the first software application in a foreground state and execute the second software application in a background state. From the perspective of executing the second software application in the background state, the second screen may be acquired based on a service.

[0123] Referring to FIG. 10, in state (1003), an electronic device (101) according to one embodiment may display a second screen (1030) on the display (240) in response to an input for an icon (1022). The second screen (1030) may be referred to as a screen curtain UI (user interface) from the perspective of being displayed overlapping the entire first screen (410). The second screen (1030) may be defined as an image having an application overlay type. The electronic device (101) may use an alpha value (e.g., a parameter for adjusting transparency) for the second screen (1030) to determine whether to display the first screen (410) through the second screen (1030). However, the present invention is not limited thereto.

[0124] For example, the second screen (1030) may include a configuration similar to that included in the screen (430) of FIG. 4. The second screen (1030) may include an image having a specified color (e.g., black). The second screen (1030) may include a visual object (1031) (or text object) indicating execution of the first software application. The second screen (1030) may include a visual object (1032) (or text object) indicating information about the second state. The second screen (1030) may include a text object (1033) for releasing the second state (or changing from the second state to the first state).

[0125] According to one embodiment, the electronic device (101) may maintain execution of the first software application in the foreground state based on overlapping the second screen (1030) over the entire first screen (410). For example, the electronic device (101) may control the display (240) based on a low power state based on displaying the second screen (1030). The low power state may include a state in which the electronic device (101) controls the display (240) based on a second voltage that is lower than a first voltage for controlling the display (240) based on a normal state. The electronic device (101) may reduce the brightness of the display while controlling the display (240) based on the second voltage. For example, the electronic device (101) may not perform an action on an input received through the TSP based on displaying the second screen (1030).

[0126] An electronic device (101) according to one embodiment may stop displaying a second screen (1030) based on receiving a specified input. The electronic device (101) may release a second state based on receiving the specified input. The electronic device (101) may change from the second state to the first state based on obtaining the specified input. The specified input may include an input for activating the display (240). The specified input may include an input for a physical button for turning on the display (240). The specified input may include multiple touch inputs (e.g., double taps) and / or long touch inputs for the display (240), but is not limited thereto.

[0127] According to one embodiment, the electronic device (101) may display a screen overlapped by the second screen (1030) on the display (240) after the display of the second screen (1030) has been stopped. For example, since the electronic device (101) has executed the first software application in the foreground state, the screen may be at least partially different from the first screen (410) included in the state (1001). However, this is not limited thereto.

[0128] As described above, the electronic device (101) according to one embodiment can execute the first software application in the foreground state by displaying the second screen (1030) by overlapping the first screen (410), independently of using a virtual display. The electronic device (101) can reduce battery power consumption by displaying the second screen (1030) through a display (240) based on a low power state. Based on displaying the second screen (1030) by overlapping the first screen (410), the electronic device (101) can provide the user with an effect similar to that of a first software application that does not provide a background service using a background service.

[0129] FIG. 11 illustrates an example of a flowchart illustrating an operation of an electronic device according to an embodiment of the present invention to restrict execution of a second software application. The electronic device (101) of FIG. 11 may include the electronic device (101) of FIG. 1 . At least one of the operations of FIG. 11 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2 . Each of the operations of FIG. 11 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0130] Referring to FIG. 11, at operation 1110, a processor according to one embodiment may receive an input indicating execution of a second software application while playing media content using a first software application. The first software application may include the first software application (223) of FIG. 2. The second software application may include the second software application (224) of FIG. 2. The first software application may include a video software application that provides media content. The processor may receive an input indicating execution of the second software application while playing media content using the first software application in a foreground state. The input may include an input for an icon (1022) of FIG. 10.

[0131] Referring to FIG. 11, at operation 1120, a processor according to an embodiment may output a text object indicating that execution of a second software application is restricted. For example, the first software application may be an example of a software application that provides a background service. Since the first software application provides a background service, execution of the second software application may be restricted. However, the present invention is not limited thereto. The processor may output the text object based on displaying media content on the display based on the execution of the first software application. The text object may be displayed on the display based on the form of a toast message. However, the present invention is not limited thereto. The processor may refrain from initiating execution of the second software application based on outputting the text object. However, the present invention is not limited thereto.

[0132] FIG. 12 illustrates an example of a flowchart illustrating an operation in which an electronic device provides a notification indicating the execution of a second software application, according to an embodiment. The electronic device (101) of FIG. 12 may include the electronic device (101) of FIG. 1 . At least one of the operations of FIG. 12 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2 . Each of the operations of FIG. 12 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel.

[0133] Referring to FIG. 12, at operation 1210, a processor according to one embodiment may display a first screen on a display without user input for a specified period of time. For example, the processor may display the first screen based on the execution of a first software application (e.g., the first software application (223) of FIG. 2). The specified period of time may include a time for adjusting the brightness of the display (e.g., the time for switching to dim). If the processor does not identify user input for the specified period of time, the processor may enter a low-power state. Prior to entering the low-power state, the processor may provide a notification indicating whether to execute the first software application based on the foreground state.

[0134] Referring to FIG. 12, at operation 1220, a processor according to one embodiment may output a notification indicating the execution of a second software application. The notification indicating the execution of the second software application may include a notification recommending the execution of the second software application. The processor may output the notification independently of a wake lock if no user input is received for a specified period of time while displaying a screen for the first software application. The notification may be displayed on the display in a toast message format, but is not limited thereto.

[0135] FIG. 13 illustrates an example of a flowchart illustrating the operation of an electronic device according to one embodiment. The electronic device (101) of FIG. 13 may include the electronic device (101) of FIG. 1. At least one of the operations of FIG. 13 may be performed by the electronic device (101) of FIG. 1 and / or the processor (210) of FIG. 2. Each of the operations of FIG. 13 may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each of the operations may be changed, and at least two operations may be performed in parallel. At least one of the operations of FIG. 13 may be related to at least one of the operations of FIG. 9.

[0136] Referring to FIG. 13, at operation 1310, a processor according to one embodiment may display a first screen of a first software application on a display. Operation 1310 may be referenced to operation 910 of FIG. 9.

[0137] Referring to FIG. 13, at operation 1320, a processor according to one embodiment may identify an input indicating execution of a second software application. Operation 1320 may be referenced to operation 920 of FIG. 9.

[0138] Referring to FIG. 13, at operation 1330, a processor according to one embodiment may determine whether execution of a second software application is permitted. For example, whether execution of the second software application is permitted may be determined based on whether the running first software application provides background services. However, this is not a limitation.

[0139] Referring to FIG. 13, if the execution of the second software application is permitted (operation 1330 - Yes), in operation 1340, the processor according to one embodiment may display the second screen by overlapping the entire first screen. For example, the processor may change the state of the display to a low-power state while displaying the second screen by overlapping the entire first screen. For example, if the first software application is a software application that provides media content (e.g., a video software application), the execution of the second software application may be permitted while playing the media content. For example, if the processor processes a task for displaying the first screen of the first software application based on a wake lock, the execution of the second software application may be permitted in order to cover the first screen. However, the present invention is not limited thereto.

[0140] Referring to FIG. 13, at operation 1350, a processor according to one embodiment may, based on identifying an event for stopping display of a second screen, at least temporarily terminate execution of a second software application. The processor may monitor the event while displaying the second screen. For example, the event may include an input for activating the display. The event may include identifying an incoming call. The event may include identifying an input for pausing media content currently being played using the first software application. The event may include identifying an input for invoking an artificial intelligence (AI) service. Based on identifying the event, the processor may stop displaying the second screen and display the first screen on the display.

[0141] Referring to FIG. 13, if execution of the second software application is not permitted (operation 1330-No), a text object indicating that execution of the second software application is restricted may be displayed at operation 1360. Operation 1360 may be referenced to operation 1120 of FIG. 11.

[0142] An electronic device according to one embodiment may be capable of executing a software application in a foreground state while suspending the display of the software application's screen on the display. A method for enabling the electronic device to maintain execution of the software application independently of the display of the screen may be required.

[0143] An electronic device (101) according to an embodiment as described above may include a display (240), a memory (220) for storing instructions, and at least one processor (210). The at least one processor may be configured to cause the electronic device to allocate a first buffer area (232) of the memory to a software application (223) based on execution of the software application when the instructions are executed. The at least one processor may be configured to cause the electronic device to display a screen (410) obtained by using the software application on the display corresponding to the first buffer area through the first buffer area when the instructions are executed. The at least one processor may be configured to cause the electronic device to obtain a first input for executing the software application based on a second state that is distinct from a first state for displaying the screen on the display when the instructions are executed. The at least one processor may be configured to cause the electronic device, when the instructions are executed, to allocate, to the software application, the second buffer area corresponding to the virtual display (235) among the first buffer area and the second buffer area (233), in response to the acquired first input. The at least one processor may be configured to cause the electronic device, when the instructions are executed, to maintain the execution of the software application using the second buffer area.

[0144] For example, the at least one processor may be configured to cause the electronic device to, when the instructions are executed, give priority to the execution of the software application among the plurality of software applications stored in the memory.

[0145] For example, the at least one processor may be configured to cause the electronic device, when the instructions are executed, to display the screen based on the first state while executing the software application. The at least one processor may be configured to cause the electronic device, when the instructions are executed, to output a notification for obtaining the first input based on maintaining execution of the software application without receiving a second input distinct from the first input for a specified period of time.

[0146] For example, the at least one processor may be configured to cause the electronic device, when the instructions are executed, to, in response to the first input for disabling the display, disable the display while maintaining the execution of the software application using the second buffer area.

[0147] For example, the at least one processor may be configured to, when the instructions are executed, cause the electronic device to at least temporarily suspend performance of an action corresponding to a third input received while deactivating the display.

[0148] For example, the at least one processor may be configured to cause the electronic device to control the display based on a second voltage that is less than a first voltage corresponding to the first state for displaying the screen while maintaining the execution of the software application based on allocating the software application to the second buffer area when the instructions are executed.

[0149] For example, the at least one processor may be configured to cause the electronic device to display another screen (430) representing the second state on the display based on controlling the display using the second voltage corresponding to the second state when the instructions are executed. The another screen may include at least one of a first text object (431) representing the execution of the software application and a second text object (432) representing the second state.

[0150] For example, the at least one processor may be configured to cause the electronic device, when the instructions are executed, to display the screen on the display based on, in the first state, at least temporarily storing data related to the screen in the first buffer area to which the display is permitted to access. The at least one processor may be configured to cause the electronic device, when the instructions are executed, to process the data through the virtual display based on, in the second state, at least temporarily storing the data in the second buffer area among the first buffer area and the second buffer area.

[0151] For example, the at least one processor may be configured to, when the instructions are executed, cause the electronic device to identify a fourth input for displaying an icon (421) representing the second state while displaying the screen acquired using the software application. The at least one processor may be configured to, when the instructions are executed, cause the electronic device to, in response to the identified fourth input, display the icon overlapping at least a portion of the screen. The at least one processor may be configured to, when the instructions are executed, cause the electronic device to allocate the second buffer area to the virtual display based on acquiring the first input indicating selection of the icon.

[0152] For example, at least one processor may be configured to cause the electronic device, when the instructions are executed, to allocate the first buffer area among the first buffer area and the second buffer area to the software application based on identifying a fifth input while maintaining the execution of the software application using the second buffer area. The at least one processor may be configured to cause the electronic device, when the instructions are executed, to display the screen related to the execution of the software application on the display through the allocated first buffer area.

[0153] In the method of the electronic device (101) according to one embodiment as described above, the method may include an operation of allocating a first buffer area (232) of a memory (220) to a software application (223) based on execution of the software application. The method may include an operation of displaying a screen (410) acquired using the software application on a display (240) corresponding to the first buffer area through the first buffer area. The method may include an operation of acquiring a first input for executing the software application based on a second state that is distinct from a first state for displaying the screen on the display while displaying the screen. The method may include an operation of allocating, in response to the acquired first input, a second buffer area corresponding to a virtual display (235) among the first buffer area and the second buffer area (233) to the software application. The method may include an operation of maintaining the execution of the software application using the second buffer area.

[0154] For example, the operation of maintaining the execution may include an operation of preferentially processing the execution of the software application among a plurality of software applications stored in the memory.

[0155] For example, the action of displaying the screen may include an action of displaying the screen based on the first state while the software application is running. The action of displaying the screen may include an action of outputting a notification for obtaining the first input based on maintaining the execution of the software application for a specified period of time without receiving a second input distinct from the first input.

[0156] For example, the action of maintaining the execution may include, in response to the first input for disabling the display, disabling the display while maintaining the execution of the software application using the second buffer area.

[0157] For example, the act of disabling the display may include at least temporarily suspending the performance of an action corresponding to a third input received while disabling the display.

[0158] An electronic device (101) according to one embodiment as described above may include a display (240), a memory (220) for storing instructions, and at least one processor (210). The at least one processor may be configured to cause the electronic device to display a first screen (410) of a first software application (223) on the display based on a normal state when the instructions are executed. The at least one processor may be configured to cause the electronic device to receive an input indicating execution of a second software application (224) that displays a second screen (1030) overlapping the entire first screen while displaying the first screen when the instructions are executed. The at least one processor may be configured to, when the instructions are executed, cause the electronic device to, in response to the received input, display the second screen, which includes a visual object (1031) representing information about the first software application, overlapping the entire first screen while maintaining execution of the first software application. The at least one processor may be configured to, when the instructions are executed, cause the electronic device to preferentially perform processing for the first software application over processing for the second software application.

[0159] For example, the at least one processor may be configured to, when the instructions are executed, cause the electronic device to change a state of the display to a low power state based on execution of the second software application, which changes a state of the display from the normal state to a low power state for controlling the display based on a second voltage less than the first voltage, while executing the first software application in the normal state for controlling the display based on a first voltage. The at least one processor may be configured to, when the instructions are executed, cause the electronic device to, in the low power state, display the second screen to overlap the entire first screen based on the second voltage.

[0160] For example, the at least one processor may be configured to cause the electronic device to reduce the brightness of the display while controlling the display based on the second voltage when the instructions are executed.

[0161] For example, the at least one processor may be configured to, when the instructions are executed, cause the electronic device to identify another input distinct from the input through the display after displaying the second screen. The at least one processor may be configured to, when the instructions are executed, cause the electronic device to at least temporarily suspend performance of an operation corresponding to the other input.

[0162] For example, the at least one processor may be configured to cause the electronic device to output a notification indicating the execution of the second software application based on displaying the first screen on the display for a specified period of time when the instructions are executed.

[0163] For example, the at least one processor may be configured to, when the instructions are executed, cause the electronic device to display the first screen representing the media content when playing the media content using the first software application. The at least one processor may be configured to, when the instructions are executed, cause the electronic device to, while playing the media content, display a text object on the display indicating whether to run the second software application in response to the input indicating the running of the second software application.

[0164] For example, the at least one processor may be configured to cause the electronic device, when the instructions are executed, to display the visual object representing other information about the media content on the display after executing the second software application using the text object.

[0165] For example, the at least one processor may be configured to cause the electronic device, when the instructions are executed, to identify an event for stopping display of the second screen. The at least one processor may be configured to cause the electronic device, when the instructions are executed, to terminate execution of the second software application based on the identification of the event. The at least one processor may be configured to cause the electronic device, when the instructions are executed, to display the first screen on the display.

[0166] For example, the at least one processor may be configured to cause the electronic device to display the first screen on the display when the instructions are executed.

[0167] In a computer-readable storage medium storing one or more programs according to one embodiment as described above, the one or more programs may be configured to, when executed by the processor (210) of the electronic device (101), cause the electronic device to display a first screen (410) of a first software application (223) on a display based on a normal state. The one or more programs may be configured to, when executed by the processor of the electronic device, cause the electronic device to receive, while displaying the first screen, an input indicating execution of a second software application (224) that displays a second screen (1030) so as to overlap the entire first screen. The one or more programs may be configured to, when executed by the processor of the electronic device, cause the electronic device to, in response to the received input, display, while maintaining execution of the first software application, a second screen including a visual object (1031) indicating information about the first software application so as to overlap the entire first screen. The one or more programs may be configured to cause the electronic device, when executed by the processor of the electronic device, to preferentially perform processing for the first software application over processing for the second software application.

[0168] For example, the one or more programs may be configured to cause the electronic device to change a state of the display to a low power state based on execution of the second software application, which changes a state of the display from the normal state to a low power state for controlling the display based on a second voltage less than the first voltage, while executing the first software application in a normal state for controlling the display based on a first voltage when executed by the processor of the electronic device. The one or more programs may be configured to cause the electronic device, in the low power state, to display the second screen overlapping the entire first screen based on the second voltage.

[0169] For example, the one or more programs, when executed by the processor of the electronic device, may be configured to cause the electronic device to reduce the brightness of the display while controlling the display based on the second voltage.

[0170] For example, the one or more programs may be configured to, when executed by the processor of the electronic device, cause the electronic device to identify another input distinct from the input through the display after displaying the second screen. The one or more programs may be configured to, when executed by the processor of the electronic device, cause the electronic device to at least temporarily cease performing an operation corresponding to the other input.

[0171] In a computer-readable storage medium storing one or more programs according to one embodiment as described above, the one or more programs may be configured to cause the electronic device (101) to allocate a first buffer area (232) of a memory (220) to a software application (223) when executed by the processor (210) of the electronic device (101), based on execution of the software application. The one or more programs may be configured to cause the electronic device to display, through the first buffer area, a screen (410) obtained by using the software application on a display (240) corresponding to the first buffer area, when executed by the processor of the electronic device. The one or more programs may be configured to cause the electronic device to obtain a first input for executing the software application based on a second state that is distinct from a first state for displaying the screen on the display while displaying the screen. The one or more programs may be configured to, when executed by the processor of the electronic device, cause the electronic device to, in response to the acquired first input, allocate the second buffer area corresponding to the virtual display (235) among the first buffer area and the second buffer area (233) to the software application. The one or more programs may be configured to, when executed by the processor of the electronic device, cause the electronic device to maintain the execution of the software application by using the second buffer area.

[0172] For example, the one or more programs may be configured to cause the electronic device, when executed by the processor of the electronic device, to preferentially process the execution of the software application among the plurality of software applications stored in the memory.

[0173] An electronic device according to one embodiment described above may include a display, a processor, and a memory for storing instructions. The instructions, when executed by the processor, may be configured to cause the electronic device to allocate a first buffer area to a software application running in the foreground. The instructions, when executed by the processor, may be configured to cause the electronic device to display an execution screen of the software running in the foreground on the display in response to data in the first buffer area. The instructions, when executed by the processor, may be configured to cause the electronic device to obtain a first input while displaying the execution screen on the display. The instructions, when executed by the processor, may be configured to cause the electronic device to allocate, based on the first input, a second buffer area corresponding to a virtual display among the first buffer area and the second buffer area to the software application, and to maintain the execution of the software application using the second buffer area. While the second buffer area is allocated, the execution screen of the software application may not be displayed on the display.

[0174] For example, the instructions, when executed by the processor, may be configured to cause the electronic device, in a first state, to display the execution screen of the software application on the display based on at least temporarily storing data related to the execution screen within the first buffer area to which the display is permitted to access while the first buffer area is allocated to the software application. The instructions, when executed by the processor, may be configured to cause the electronic device, in a second state, to process data to be processed through the virtual display based on at least temporarily storing data within the second buffer area while the second buffer area is allocated to the software application.

[0175] For example, the instructions may be configured to cause the electronic device, when executed by the processor, to preferentially process the execution of the software application among a plurality of software applications stored in the memory while the second buffer area is allocated to the software application and the execution screen of the software application is not displayed on the display.

[0176] For example, the instructions, when executed by the processor, may be configured to cause the electronic device to display the execution screen based on the first state while executing the software application. The instructions, when executed by the processor, may be configured to cause the electronic device to output a notification for obtaining the first input based on maintaining execution of the software application for a specified period of time without receiving a second input distinct from the first input.

[0177] For example, the instructions, when executed by the processor, may be configured to cause the electronic device to display the execution screen based on the first state while executing the software application. The instructions, when executed by the processor, may be configured to cause the electronic device to change the state of the electronic device from the first state to the second state based on maintaining execution of the software application for a specified period of time.

[0178] For example, the electronic device may include a camera. The instructions, when executed by the processor, may be configured to cause the electronic device to display the execution screen based on the first state while executing the software application. The instructions, when executed by the processor, may be configured to cause the electronic device to at least temporarily stop changing the state of the electronic device from the first state to the second state while identifying a user of the electronic device using the camera.

[0179] For example, the instructions, when executed by the processor, may be configured to cause the electronic device, in the second state, to at least temporarily suspend performance of an operation corresponding to a third input received through the display.

[0180] For example, the instructions, when executed by the processor, may be configured to cause the electronic device to control the display based on a second voltage that is less than a first voltage corresponding to the first state for displaying the screen while maintaining the execution of the software application based on allocating the software application to the second buffer area.

[0181] For example, the instructions, when executed by the processor, may be configured to cause the electronic device, in the second state, to disable the first group and enable the second group among the first group associated with the display and the second group associated with the virtual display. The instructions, when executed by the processor, may be configured to cause the electronic device to maintain execution of the software application in the second state with the second group enabled.

[0182] For example, the instructions, when executed by the processor, may be configured to cause the electronic device, while displaying the execution screen obtained using the software application, to identify a fourth input for displaying an icon representing the second state. The instructions, when executed by the processor, may be configured to cause the electronic device, in response to the identified fourth input, to display the icon overlapping at least a portion of the execution screen. The instructions, when executed by the processor, may be configured to cause the electronic device to allocate the second buffer area to the virtual display based on obtaining the first input indicating selection of the icon.

[0183] In a computer-readable storage medium storing one or more programs according to one embodiment as described above, the one or more programs may be configured to cause the electronic device to allocate a first buffer area to a software application running in the foreground when executed by the electronic device. The one or more programs may be configured to cause the electronic device to display an execution screen of the software running in the foreground on the display in response to data in the first buffer area when executed by the electronic device. The one or more programs may be configured to cause the electronic device to obtain a first input while displaying the execution screen on the display. The one or more programs may be configured to cause the electronic device to allocate, based on the first input, a second buffer area corresponding to a virtual display among the first buffer area and the second buffer area to the software application, and to maintain the execution of the software application using the second buffer area when executed by the electronic device. While the second buffer area is allocated, the execution screen of the software application may not be displayed on the display.

[0184] For example, the one or more programs may be configured to cause the electronic device, when executed by the electronic device, to display the execution screen of the software application on the display based on, in a first state, at least temporarily storing data related to the execution screen within the first buffer area to which the display is permitted to access while the first buffer area is allocated to the software application. The one or more programs may be configured to cause the electronic device, when executed by the electronic device, to process data via the virtual display based on, in a second state, at least temporarily storing data to be processed via the virtual display within the second buffer area while the second buffer area is allocated to the software application.

[0185] For example, the one or more programs may be configured to cause the electronic device to, when executed by the electronic device, preferentially process the execution of the software application among the plurality of software applications stored in the memory while the second buffer area is allocated to the software application and the execution screen of the software application is not displayed on the display.

[0186] For example, the one or more programs may be configured to, when executed by the electronic device, cause the electronic device to display the execution screen based on the first state while executing the software application. The one or more programs may be configured to, when executed by the electronic device, cause the electronic device to output a notification for obtaining the first input based on maintaining execution of the software application for a specified period of time without receiving a second input distinct from the first input.

[0187] For example, the one or more programs may be configured to, when executed by the electronic device, cause the electronic device to display the execution screen based on the first state while executing the software application. The one or more programs may be configured to, when executed by the electronic device, cause the electronic device to change the state of the electronic device from the first state to the second state based on maintaining execution of the software application for a specified period of time.

[0188] An electronic device according to one embodiment as described above may include a display, a processor, and a memory for storing instructions. The instructions, when executed by the processor, may be configured to cause the electronic device to display a first screen of a first software application on the display based on a normal state. The instructions, when executed by the processor, may be configured to cause the electronic device to receive an input for executing a second software application while the first screen is displayed. The instructions, when executed by the processor, may be configured to cause the electronic device to perform processing of the first software application in preference to processing of the second software application based on the input. The instructions, when executed by the processor, may be configured to cause the electronic device to display a second screen of the second software application on the display in place of the first screen while prioritizing processing of the first software application over processing of the second software application. The second screen may include a visual object displaying information about the first software application while maintaining priority over processing of the second software application.

[0189] For example, the instructions, when executed by the processor, may be configured to cause the electronic device to control the display to operate in a low power state while prioritizing processing of the first software application over processing of the second software application, and to display the second screen displaying limited information including the visual object representing information about the first software application.

[0190] For example, the instructions may be configured to, when executed by the processor, cause the electronic device to change a state of the display from the normal state to the low power state based on execution of the second software application for controlling the display based on a second voltage less than the first voltage while executing the first software application in the normal state for controlling the display based on a first voltage. The instructions may be configured to, when executed by the processor, cause the electronic device to, in the low power state, display the second screen overlapping the entire first screen based on the second voltage.

[0191] For example, the instructions, when executed by the processor, may be configured to cause the electronic device to reduce the brightness of the display while controlling the display based on the second voltage.

[0192] For example, the instructions, when executed by the processor, may be configured to cause the electronic device to output a notification indicating the execution of the second software application based on displaying the first screen on the display for a specified period of time.

[0193] A method of an electronic device according to an embodiment as described above may include an operation of allocating a first buffer area to a software application running in the foreground. The method may include an operation of displaying an execution screen of the software running in the foreground on the display in response to data in the first buffer area. The method may include an operation of acquiring a first input while displaying the execution screen on the display. The method may include an operation of allocating a second buffer area corresponding to a virtual display among the first buffer area and the second buffer area to the software application based on the first input, and maintaining the execution of the software application using the second buffer area. While the second buffer area is allocated, the execution screen of the software application may not be displayed on the display.

[0194] A method of an electronic device according to one embodiment as described above may include an operation of displaying a first screen of a first software application on the display based on a normal state. The method may include an operation of receiving an input for executing a second software application while the first screen is displayed. The method may include an operation of performing processing of the first software application with priority over processing of the second software application based on the input. The method may include an operation of displaying a second screen (1030) of the second software application in place of the first screen while performing processing of the first software application with priority over processing of the second software application. The second screen may include a visual object representing information about the first software application while maintaining performing processing of the first software application with priority over processing of the second software application.

[0195] The devices described above may be implemented as hardware components, software components, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone; however, one of ordinary skill in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing unit may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.

[0196] Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and / or data may be embodied in any type of machine, component, physical device, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.

[0197] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. In this case, the medium may be one that continuously stores a computer-executable program or one that temporarily stores it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and those configured to store program commands, including ROM, RAM, and flash memory. In addition, examples of other media may include recording media or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc.

[0198] Although the embodiments have been described with limited examples and drawings, those skilled in the art will appreciate that various modifications and variations can be made based on the above teachings. For example, appropriate results can be achieved even if the described techniques are performed in a different order than described, and / or components of the described systems, structures, devices, circuits, etc. are combined or combined in a different manner than described, or are replaced or substituted with other components or equivalents. Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims

1. In an electronic device (101), display (240); Processor (210); Contains a memory (220) for storing instructions, The above instructions, when executed by the processor, cause the electronic device to: Allocate the first buffer area (232) of the memory to a software application (223) running in the foreground, Using the first buffer area, the execution screen (410) of the software running in the foreground is displayed on the display, Acquire a first input while displaying the execution screen on the above display, and Based on the first input above: Allocate a second buffer area corresponding to the virtual display (235) to the above software application, configured to allocate the second buffer area to the software application so as to maintain the execution of the software application; and While the second buffer area is allocated, the execution screen of the software application is not displayed on the display. Electronic devices.

2. In paragraph 1, The above instructions, when executed by the processor, cause the electronic device to: In a first state, while the first buffer area is allocated to the software application, displaying the execution screen of the software application on the display based on at least temporarily storing data related to the execution screen within the first buffer area to which access of the display is permitted; and In a second state, the data to be processed through the virtual display is configured to be processed based on at least temporarily storing the data in the second buffer area while the second buffer area, which is different from the first buffer area, is allocated to the software application. Electronic devices.

3. In paragraph 1 or 2, The above instructions, when executed by the processor, cause the electronic device to: configured to give priority to the execution of the software application among the plurality of software applications stored in the memory while the second buffer area is allocated to the software application and the execution screen of the software application is not displayed on the display. Electronic devices.

4. In any one of paragraphs 1 to 3, The above instructions, when executed by the processor, cause the electronic device to: Displaying the execution screen based on the first state while executing the above software application, and configured to output a notification for acquiring said first input based on maintaining the execution of said software application without receiving a second input distinct from said first input for a specified period of time; Electronic devices.

5. In any one of paragraphs 1 to 4, The above instructions, when executed by the processor, cause the electronic device to: Displaying the execution screen based on the first state while executing the above software application, and configured to change the state of the electronic device from the first state to the second state based on maintaining the execution of the software application for a specified period of time; Electronic devices.

6. In any one of paragraphs 1 to 5, The electronic device comprises a camera; The above instructions, when executed by the processor, cause the electronic device to: Displaying the execution screen based on the first state while executing the above software application, and configured to at least temporarily stop changing the state of the electronic device from the first state to the second state while identifying the user of the electronic device using the camera; Electronic devices.

7. In any one of paragraphs 1 to 6, The above instructions, when executed by the processor, cause the electronic device to: In the second state, configured to at least temporarily suspend the performance of an operation corresponding to a third input received through the display, Electronic devices.

8. In any one of paragraphs 1 to 7, The above instructions, when executed by the processor, cause the electronic device to: Based on allocating the software application to the second buffer area, while maintaining the execution of the software application, the display is configured to be controlled based on a second voltage that is less than the first voltage corresponding to the first state for displaying the screen. Electronic devices.

9. In any one of paragraphs 1 to 8, The above instructions, when executed by the processor, cause the electronic device to: In the second state, among the first group associated with the display and the second group associated with the virtual display, the first group is disabled and the second group is enabled, and configured to maintain execution of the software application in the second state in which the second group is enabled; Electronic devices.

10. In any one of paragraphs 1 to 9, The above instructions, when executed by the processor, cause the electronic device to: While displaying the execution screen obtained by using the above software application, identify a fourth input for displaying an icon (421) representing the second state, In response to the fourth input identified above, displaying the icon overlapping at least a portion of the execution screen, and configured to allocate the second buffer area to the virtual display based on obtaining the first input indicating selection of the icon; Electronic devices.

11. In a computer-readable storage medium storing one or more programs, when the one or more programs are executed by an electronic device (101), Allocate a first buffer area (232) of the memory of the electronic device to a software application (223) running in the foreground, Using the first buffer area, the execution screen (410) of the software running in the foreground is displayed on the display, Acquire a first input while displaying the execution screen on the display (240); and Based on the first input above: Allocating to the software application the second buffer area of ​​the memory of the electronic device corresponding to the virtual display (235); and configured to cause the electronic device to maintain the execution of the software application by allocating the second buffer area to the software application; and While the second buffer area is allocated, the execution screen of the software application is not displayed on the display. Computer readable storage medium.

12. In paragraph 11, The one or more programs, when executed by the electronic device, display the execution screen of the software application on the display based on, in a first state, at least temporarily storing data related to the execution screen within the first buffer area to which access of the display is permitted while the first buffer area is allocated to the software application; and In a second state, the electronic device is configured to cause the data to be processed through the virtual display to be processed based on at least temporarily storing the data within the second buffer area, while the second buffer area, which is different from the first buffer area, is allocated to the software application. Computer readable storage medium.

13. In paragraph 11 or 12, The above one or more programs, when executed by the electronic device, configured to cause the electronic device to preferentially process the execution of the software application among the plurality of software applications stored in the memory while the second buffer area is allocated to the software application and the execution screen of the software application is not displayed on the display. Computer readable storage medium.

14. In any one of paragraphs 11 to 13, The above one or more programs, when executed by the electronic device, Displaying the execution screen based on the first state while executing the above software application, and configured to cause the electronic device to output a notification for acquiring the first input based on maintaining execution of the software application without receiving a second input distinct from the first input for a specified period of time; Computer readable storage medium.

15. In any one of paragraphs 11 to 14, The above one or more programs, when executed by the electronic device, Displaying the execution screen based on the first state while executing the above software application, and configured to cause the electronic device to change the state of the electronic device from the first state to the second state based on maintaining execution of the software application for a specified period of time; Computer readable storage medium.

Citation Information

Patent Citations

  • Method and apparatus for protecting the user's privacy in a portable terminal

    KR1020110084653A

  • Display apparatus and control method thereof

    KR1020140073373A

  • Method and Electronic Device for operating screen

    KR1020150141073A

  • Dynamic resource management for multi-process applications

    KR1020160132432A

  • Apparatus for Removing Iodine and Method for Removing Iodine

    KR102189263B1