KR20160097415A - 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스 - Google Patents

안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스 Download PDF

Info

Publication number
KR20160097415A
KR20160097415A KR1020150018492A KR20150018492A KR20160097415A KR 20160097415 A KR20160097415 A KR 20160097415A KR 1020150018492 A KR1020150018492 A KR 1020150018492A KR 20150018492 A KR20150018492 A KR 20150018492A KR 20160097415 A KR20160097415 A KR 20160097415A
Authority
KR
South Korea
Prior art keywords
window
application
application program
screen
touch device
Prior art date
Application number
KR1020150018492A
Other languages
English (en)
Inventor
이강우
오종석
김한미루
박시온
조우현
Original Assignee
이강우
김한미루
박시온
조우현
오종석
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이강우, 김한미루, 박시온, 조우현, 오종석 filed Critical 이강우
Priority to KR1020150018492A priority Critical patent/KR20160097415A/ko
Publication of KR20160097415A publication Critical patent/KR20160097415A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스에 관한 것으로서, 더욱 상세하게는 안드로이드 플랫폼상에서 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기 및 그래픽 메모리의 윈도우 생성 버퍼 부분을 재정의하는 멀티윈도우 구동 어플리케이션를 제공하고, 이를 통해 사용자가 터치 디바이스에서 멀티윈도우를 실행하면, 응용 프로그램에서 발생한 알림을 복수개의 윈도우를 통해 오버레이(overlay) 방식으로 화면에 출력하며, 사용자의 입력을 통해 상기 응용 프로그램에서의 실행 우선순위와 화면 크기를 조절할 수 있도록 제공하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스를 제공함에 있다.

Description

안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스{Application for operating multi-windows on android platform and the touch device equipped with the same}
본 발명은 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스에 관한 것으로서, 더욱 상세하게는 안드로이드 플랫폼상에서 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기 및 그래픽 메모리의 윈도우 생성 버퍼 부분을 재정의하는 멀티윈도우 구동 어플리케이션를 제공하고, 이를 통해 사용자가 터치 디바이스에서 멀티윈도우를 실행하면, 응용 프로그램에서 발생한 알림을 복수개의 윈도우를 통해 오버레이(overlay) 방식으로 화면에 출력하며, 사용자의 입력을 통해 상기 응용 프로그램에서의 실행 우선순위와 화면 크기를 조절할 수 있도록 제공하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, PDA(Personal Digital Assistant), 전자수첩, 스마트 폰, 태블릿 PC(Personal Computer) 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 다양하게 출시되고 있다. 이러한 휴대단말은 각자의 전통적인 고유 영역에 머무르지 않고 다른 단말들의 영역까지 아우르는 모바일 컨버전스(mobile convergence) 단계에 이르고 있다.
대표적으로, 휴대단말은 음성통화 및 영상통화 등과 같은 통화 기능, SMS(Short Message Service)/MMS(Multimedia Message Service) 및 이메일 등과 같은 메시지 송수신 기능, 전자수첩 기능, 촬영 기능, 방송 재생 기능, 동영상 재생 기능, 음악 재생 기능, 인터넷 기능, 메신저 기능 및 소셜 네트워크 서비스(SNS, Social Networking Service) 기능 등을 구비할 수 있다.
한편, 상기 휴대단말에서는 협소한 스크린을 가지는 휴대단말의 특성으로 인해, 한 번에 하나의 어플리케이션뷰(application view)만 가지도록 구성되어 있으며, 일부 예외적인 어플리케이션에 한해서 팝업(pop-up)을 통해 고정하여 표시하도록 구성되어 있다. 따라서 종래에서는 협소한 크기의 화면으로 인해 복수개의 어플리케이션들을 동시에 실행하더라도, 현재 화면에는 사용자 선택에 따른 어느 하나의 어플리케이션 뷰만이 제공된다. 즉, 종래에서는 복수개의 어플리케이션들을 효과적으로 사용할 수 없는 문제점이 있다.
이러한 문제점을 해결하기 위하여, 한국공개특허공보 제2013-0126430호에는 터치 디바이스의 화면(screen)을 미리 정의되는 분할(split) 방식에 따라 적어도 2개의 윈도우(window)로 분할하여 멀티윈도우(multi-window)를 제공하는 기술이 제안되었으나, 개발자 측면에서는 터치 디바이스의 제조사에 따라 터치 디바이스에 맞는 특정 어플리케이션을 이용하여 응용 프로그램을 개발해야만 터치 디바이스에서 멀티윈도우 기능을 적용할 수 있기 때문에, 터치 디바이스 제조사별로 멀티윈도우용 응용 프로그램을 각각 개발해야 했으며, 모든 응용 프로그램에서 활용할 수 없는 문제점이 있었다.
1. 한국공개특허공보 제2013-0126430호 (공개일 : 2013. 11. 20) "멀티 윈도우 제공 방법 및 장치"
본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것이다. 즉, 본 발명의 목적은, 안드로이드 플랫폼상에서 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기 및 그래픽 메모리의 윈도우 생성 버퍼 부분을 재정의하는 멀티윈도우 구동 어플리케이션를 제공하고, 이를 통해 사용자가 터치 디바이스에서 멀티윈도우를 실행하면, 응용 프로그램에서 발생한 알림을 복수개의 윈도우를 통해 오버레이(overlay) 방식으로 화면에 출력하며, 사용자의 입력을 통해 상기 응용 프로그램에서의 실행 우선순위와 화면 크기를 조절할 수 있도록 제공하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스를 제공함에 있다.
상기의 목적을 달성하기 위한 기술적 사상으로서 본 발명은, 안드로이드 플랫폼이 탑재된 터치 디바이스에서 구현되는 어플리케이션에 있어서, 안드로이드 플랫폼의 서피스 매니저와 연동하여 다중 화면을 합성 및 관리하는 서피스 매니저 연동 모듈, 안드로이드 플랫폼의 윈도우 매니저와 연동하여 응용 프로그램이 실행될 때, 윈도우의 사이즈와 해상도를 설정하는 윈도우 매니저 연동 모듈 및 안드로이드 플랫폼의 액티비티 매니저와 연동하여 응용 프로그램이 메모리에서 회수되는 것을 막기 위해 상태변경을 제어하는 액티비티 매니저 연동 모듈로 구성되어, 제1 응용 프로그램의 실행 중에 제2 응용 프로그램이 실행될 경우, 실행중이던 제1 응용 프로그램을 대기상태로 유지한 채, 화면을 출력하는 자원을 공유하여 상기 제1 응용 프로그램 및 제2 응용 프로그램이 개별적인 윈도우를 통해 동시에 실행되어 화면에 오버레이(overlay) 방식으로 표시되도록 유지시키는 것을 특징으로 하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션을 제공한다.
본 발명은, 안드로이드 플랫폼상에서 사용자에게 보여주는 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기, 그래픽 메모리의 윈도우 생성 버퍼를 재정의하여 멀티윈도우 기능을 구현함에 따라, 본 발명의 멀티윈도우 구동 어플리케이션이 설치된 이후에 실행되는 응용 어플리케이션 및 기존에 설치된 응용 어플리케이션 모두 멀티윈도우 기능의 구현이 가능하며, 이에 따라 어플리케이션 개발자들은 터치 디바이스의 제조사별 특정 어플리케이션을 이용하지 않고도 멀티윈도우 기능을 이용할 수 있는 다양한 어플리케이션 구상 및 제작이 가능하다.
또한, 본 발명은 사용자가 멀티윈도우를 통해 복수개의 응용 프로그램들을 하나의 화면에서 쉽게 배치 및 확인할 수 있으며, 멀티윈도우에 따른 각 윈도우를 사용자가 원하는 레이아웃(layout)으로 자유롭게 변경할 수 있도록 제공함으로써, 효율적인 화면 구성 및 복수개의 응용 프로그램들의 조작에 대한 부담감과 번거로움을 해소할 수 있다.
더불어, 본 발명은 터치 디바이스에서 멀티윈도우 환경을 지원할 수 있는 최적의 환경을 구현함으로써, 사용자의 편의성을 향상시키고, 터치 디바이스의 사용성, 편의성 및 경쟁력을 향상시키는데 기여할 수 있다. 이러한, 본 발명은 모든 형태의 터치 디바이스 및 그에 대응하는 다양한 디바이스들에 간편하게 구현될 수 있다.
도 1은 본 발명의 일실시예에 따른 터치 디바이스의 개략적인 내부 구성도.
도 2 및 도 3은 본 발명의 일실시예에 따른 터치 디바이스의 화면 인터페이스를 설명하기 위해 개략적으로 도시한 화면 예시도.
도 4는 본 발명의 일실시예에 따른 안드로이드 플랫폼의 멀티윈도우 구동 어플리케이션을 설명하기 위한 도면.
도 5 및 도 6은 본 발명의 일실시예에 따른 그래픽 메모리에 버퍼를 확보하기 위한 프로세스를 도시한 도면.
도 7은 기존의 안드로이드 화면 출력의 예시를 나타낸 도면.
도 8은 기존의 응용 프로그램 프로세스 실행구조를 도시한 도면.
도 9는 본 발명의 일실시예에 따른 응용 프로그램 프로세스 실행구조를 도시한 도면.
도 10은 리눅스와 안드로이드의 계층 차이를 보여주는 도면.
도 11은 본 발명의 일실시예에 따른 안드로이드 플랫폼 상에서의 멀티윈도우 구동 어플리케이션의 동작 구조를 설명하기 위한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하겨 설명하기로 한다.
본 발명의 터치 디바이스는 스마트폰, 휴대폰, MP3, 게임기, 네비게이션, TV, 디스플레이 장치, 노트북 컴퓨터, 태블릿(tablet) 컴퓨터, PMP(Personal Media Player), PDA(Personal Digital Assistants) 등일 수 있으며, 본 발명의 실시예에서는 터치 디바이스의 대표적인 구성인 스마트폰을 이용하여 설명하기로 한다. 또한, 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
도 1은 본 발명의 일실시예에 따른 터치 디바이스의 개략적인 내부 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 터치 디바이스는 무선통신부(110), 사용자 입력부(120), 표시부(130), 저장부(140), 제어부(160) 및 전원공급부(150)를 포함하여 구성된다.
상기 무선 통신부(110)는 터치 디바이스와 무선 통신 시스템 사이 또는 터치 디바이스와 다른 디바이스가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 무선 통신부(110)는 이동통신 모듈, 무선 랜(WLAN, Wireless Local Area Network) 모듈, 근거리 통신 모듈, 위치 산출 모듈, 그리고 방송 수신 모듈 등을 포함하여 구성될 수 있다.
사용자 입력부(120)는 사용자가 터치 디바이스의 동작 제어를 위한 입력 데이터를 발생시킨다. 사용자 입력부(120)는 키패드(key pad), 돔 스위치(dome switch), 터치패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다. 상기 사용자 입력부(120)는 터치 디바이스의 외부에 버튼 형태로 구현될 수 있으며, 일부 버튼들은 터치 패널(touch panel)로 구현될 수도 있다. 특히, 본 발명의 사용자 입력부는 화면 상단에 위치한 토글바(toggle bar)를 통해 멀티윈도우 아이콘을 제공하고, 사용자로부터 멀티윈도우 아이콘을 선택받을 경우 멀티윈도우 기능을 사용할 수 있도록 제공한다.
표시부(130)는 터치 디바이스에서 처리되는 정보를 표시(출력)한다. 특히, 본 발명에서 표시부(130)는 터치 디바이스에서 실행되는 다양한 기능(또는 응용 프로그램)들에 대한 실행화면을 하나 이상의 윈도우를 통해 표시한다. 이때, 표시부(130)는 동시에 실행되는 응용 프로그램을 각각 개별적인 윈도우로 제공하며, 제공된 하나 이상의 윈도우를 오버레이(overlay)방식으로 화면에 출력한다. 즉, 표시부(130)는 멀티윈도우 환경에 대응하는 화면 표시를 지원하며, 복수개의 윈도우를 통해 복수개의 응용 프로그램들에 대한 실행화면을 각각 표시한다.
또한, 표시부(130)는 멀티윈도우에 따른 각 윈도우들을 구분 즉, 분할된 영역들을 구분하기 위한 세퍼레이터(separator) 및 표시부(130)의 전체 화면 영역 내에서 자유롭게 이동되는 가상의 입력장치(예컨대, 터치 키패드(또는 플로팅 키패드(floating keypad)) 등을 표시한다. 그리고, 표시부(130)는 하나 또는 그 이상의 윈도우를 통해 제공되는 전체 화면 또는 개별 윈도우 화면에서 사용자 입력을 수신하고, 사용자 입력에 따른 입력신호를 상기 제어부(160)로 전달한다. 더불어, 표시부(130)는 터치 디바이스의 회전 방향(또는 놓인 방향)에 따라 가로모드에 의한 화면 표시, 세로모드에 의한 화면 표시 및 가로모드와 세로모드 간의 변화에 따른 화면 전환 표시를 지원할 수 있다.
또한, 표시부(130)와 터치 동작을 감지하는 터치 패널이 상호 레이어(layer) 구조를 이루는 경우(이하, '터치스크린(touchscreen)'이라 칭함)에, 표시부(130)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 터치 패널은 표시부(130)의 특정 부위에 가해진 압력 또는 표시부(130)의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 패널은 터치되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다. 터치 패널에 대한 터치 입력이 있는 경우, 그에 대응하는 신호는 터치 제어기(미도시)로 보내진다. 터치 제어기는 그 신호를 처리한 다음 대응하는 데이터를 제어부(160)로 전송한다. 이로써, 제어부(160)는 표시부(130)의 어느 영역이 터치되었는지 여부 등을 알 수 있게 된다.
저장부(140)는 제어부(160)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예컨대, 전화번호, 메시지, 오디오, 미디어 컨텐츠(예컨대, 음악 파일, 동영상 파일), 응용 프로그램등)의 임시 저장을 위한 기능을 수행할 수도 있다. 특히, 저장부(140)는 사용자에 의해 미리 설정된 멀티윈도우 운용을 위한 응용 프로그램 실행 우선순위와, 미리 설정된 멀티윈도우 화면크기 및 화면갯수 정보 등을 저장할 수 있다.
제어부(160)는 터치 디바이스의 전반적인 동작을 제어한다. 예를 들어, 음성 통화, 데이터 통신, 화상 통화, 멀티윈도우 환경에 따른 응용 프로그램 운용 등에 관련된 제어를 수행한다. 특히, 제어부(160)는 본 발명의 멀티윈도우 구현을 위한 멀티윈도우 구동 어플리케이션를 구비한다. 즉, 본 발명의 제어부(160)는 멀티윈도우 구동 어플리케이션의 요청에 따라 멀티윈도우 기능을 지원하기 위한 일련의 동작을 지원한다. 예를 들어, 제어부(160)는 멀티윈도우 환경에서 복수개의 응용 프로그램들의 실행을 제어하고, 각각의 윈도우들을 통해 응용 프로그램들이 오버레이(overlay) 방식으로 화면으로 출력될 수 있도록 복수개의 윈도우들이 독립적으로 표시되도록 제어한다.
또한 제어부(160)는 본 발명의 멀티윈도우 환경에 따른 화면 인터페이스에서 제공되는 세퍼레이터, 키패드 등의 표시 및 그들에 대한 화면 내에서의 자유로운 이동을 제어할 수 있다. 특히, 제어부(160)는 상기 세퍼레이터의 이동에 따라 상기 멀티윈도우 환경에 따른 각 윈도우의 크기를 변경할 수 있다.
전원 공급부(150)는 제어부(160)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성 요소들의 동작에 필요한 전원을 공급한다.
도 2 및 도 3은 본 발명의 일실시예에 따른 터치 디바이스의 화면 인터페이스를 설명하기 위해 개략적으로 도시한 화면 예시도이다.
상기 도 2를 참조하면, 본 발명의 터치 디바이스에서 멀티윈도우 환경을 지원하기 위한 화면 인터페이스는, 화면 상단에 위치한 토글바(toggle bar, 210)를 통해 멀티윈도우 아이콘(212)을 제공하고, 사용자로부터 멀티윈도우 아이콘(212)을 선택받을 경우 응용 프로그램에서 발생한 알림(214)을 별도의 아이콘(예, ')') 표시를 통하여 디스플레이한다.
이어서, 화면에 표시된 응용 프로그램에서 발생한 알림(214)을 사용자가 손가락 등을 이용하여 드래그하면, 도 3에 도시된 바와 같이 알림이 발생된 응용 프로그램이 각각의 독립적인 윈도우(220)를 통해 화면에 디스플레이되며, 각각의 윈도우들은 오버레이 방식으로 화면에 출력된다. 이러한, 윈도우의 크기와 실행 우선순위는 사용자에 의해 미리 설정되어 출력될 수도 있다.
또한, 각각의 윈도우(220)는 응용 프로그램의 실행화면을 표시하는 실행영역(222)과, 윈도우 영역을 구분하고 실행영역(222)의 윈도우 크기 조절을 지원하는 세퍼레이터(224)를 포함하여 구성된다.
본 발명에서는 응용 프로그램에서 발생한 알림의 정보를 저장하고, 이를 활용하여 멀티윈도우로 제공하는 것을 예시로 하였으나, 이에 한정되는 것은 아니며 터치 디바이스 기능 운용에 따른 사용 빈도(예컨대, 응용 프로그램 사용 빈도, 미디어 컨텐츠 재생 빈도, 그리고 전화번호, 메시지 및 멀티미디어에 대한 사용 빈도 등), 중요도, 우선순위 및 선호도에 따른 복수개의 응용 프로그램을 멀티윈도우로 제공하는 등 다양한 기준에서 복수의 응용 프로그램을 멀티윈도우로 제공할 수 있다.
본 발명은 이러한 멀티윈도우의 기능을 구현하기 위해 안드로이드 플랫폼상에서 사용자에게 보여주는 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기 및 그래픽 매모리의 윈도우 생성 버퍼 부분을 재정의해서 멀티윈도우 기능을 구현한다. 즉, 본 발명에서 제공하는 멀티윈도우 구동 어플리케이션은 안드로이드 플랫폼을 구성하는 서피스 매니저(surface manager), 윈도우 매니저(wiondow manager) 및 액티비티 매니저(activity manager)와 연동하여 터치 디바이스의 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기, 그래픽 메모리의 윈도우 생성 버퍼 부분을 재정의함으로써, 터치 디바이스 내에서 응용 프로그램의 멀티윈도우 기능을 구현할 수 있도록 제공한다.
종래의 멀티윈도우 기능은 터치 디바이스의 제조사에 따라 터치 디바이스에 맞는 특정 어플리케이션을 이용하여 응용 프로그램을 제작해야만 멀티윈도우 기능을 사용할 수 있었으나, 본 발명의 멀티윈도우 구동 어플리케이션를 설치할 경우, 안드로이드 플랫폼상에서 사용자에게 보여주는 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기 및 그래픽 메모리의 윈도우 생성 버퍼를 재정의하여 멀티윈도우 기능을 구현함에 따라, 본 발명의 멀티윈도우 구동 어플리케이션이 설치된 이후에 실행되는 응용 어플리케이션 및 기존에 설치된 응용 어플리케이션 모두 멀티윈도우 기능의 구현이 가능하며, 이에 따라 어플리케이션 개발자들은 터치 디바이스의 제조사별 특정 어플리케이션을 이용하지 않고도 멀티윈도우 기능을 이용할 수 있는 다양한 어플리케이션 구상 및 제작이 가능하다.
도 4는 본 발명의 일실시예에 따른 안드로이드 플랫폼의 멀티윈도우 구동 어플리케이션을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 멀티윈도우 구동 어플리케이션(400)은 안드로이드 플랫폼상에서 사용자에게 보여주는 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기 및 그래픽 메모리의 윈도우 생성 버퍼를 재정의한다. 이를 위해, 멀티윈도우 구동 어플리케이션(400)는 안드로이드 플랫폼의 서피스 매니저(surface manager)와 연동하여 다중 서피스(사용자의 프로세스 혹은 응용 프로그램에서 생성한 화면)를 합성 및 관리하는 서피스 매니저 연동 모듈(410), 안드로이드 플랫폼의 윈도우 매니저(wiondow manager)와 연동하여 응용 프로그램이 실행될 때, 윈도우의 사이즈와 해상도를 설정하는 윈도우 매니저 연동 모듈(420) 및 안드로이드 플랫폼의 액티비티 매니저(activity manager)와 연동하여 응용 프로그램이 메모리에서 회수되는 것을 막기 위해 상태변경을 제어하는 액티비티 매니저 연동 모듈(430)을 포함한다.
기존의 안드로이드의 응용 프로그램은 터치 디바이스의 해상도에 맞는 그래픽 버퍼를 생성하여 스택구조로 쌓이게 되고, 우선순위에 따라 LCD 화면에 출력된다. 하지만, 상기 터치 디바이스의 해상도에 맞는 그래픽 버퍼를 생성하여 스텍으로 관리하는 구조는 하나의 응용 프로그램을 구동하기 위한 환경으로서, 다수의 응용 프로그램이 실행될 경우, 현재 실행중인 응용 프로그램의 화면을 새롭게 실행된 응응 프로그램의 화면이 덮어씌우기 때문에 기존의 화면이 사라진다.
이러한 문제점을 해결하기 위하여 본 발명에서는 그래픽 버퍼를 임의의 사용자 설정에 따라 결정하여 확보한다. 즉, 응용 프로그램의 실행중에 다른 응용 프로그램이 실행되면, 화면을 출력하는 자원을 공유하면서 사용하는 것이다. 이에 따라, 본 발명의 멀티윈도우를 구동하기 위해서는 그래픽 버퍼를 확보하는 것이 매우 중요하다.
도 5 및 도 6은 본 발명의 일실시예에 따른 그래픽 메모리에 버퍼를 확보하기 위한 프로세를 도시한 도면이다.
안드로이드 플랫폼은 안드로이드 디바이스에 포함된 하드웨어의 기능을 이용하는 표준적인 방법인 하드웨어 추상 계층(Hardware Abstract Layer, HAL)을 제공한다. 이 계층은 리눅스 사용자 공간에서 작동하는 C/C++ 언어로 개발된 라이브러리 레이어이며, 안드로이드 플랫폼에서 드라이버가 구현해야하는 인터페이스를 정의하고 있다.
안드로이드 디바이스에서는 다양한 하드웨어가 포함되어 있는데, 시스템 서비스(서피스 매니저, 윈도우 매니저 및 액티비티 매니저)는 하드웨어에서 제공하는 기능을 어플리케이션이 사용할 수 있도록 중간에서 가교 역할을 담당하고 있다. 하드웨어와 밀접한 관련이 있는 시스템 서비스는 운영체제에서 제공하는 하드웨어 인터페이스를 이용하여 하드웨어와 상호 작용을 한다. 예를 들어, 안드로이드 플랫폼에 포함된 리눅스 디바이스 파일을 통해 하드웨어 인터페이스를 제공한다.
그러나 안드로이드 플랫폼은 일반적으로 리눅스 디바이스 파일을 직접 이용하지 않는다. 그 이유는 먼저 안드로이드 디바이스 별로 사용되는 하드웨어가 다양하기 때문이다. 예를 들어, 갤럭시 S에 사용되는 그래픽 칩과 넥서스 원에 사용되는 그래픽 칩이 다르다. 따라서 칩별로 제공하는 기능 및 하드웨어 인터페이스가 차이가 있을 수 있기 때문에, 안드로이드 디바이스에서 사용되는 하드웨어 종류가 다름에 따라 플랫폼 코드가 변경되는 것은 플랫폼 개발사인 구글, 디바이스 제조사 모두에게 위험이 따른다. 따라서, 본 발명에서는 안드로이드 로직이 하드웨어의 특정 인터페이스로부터 분리되어 밴더사가 독립적으로 개발한 디바이스를 이용하여 그래픽 메모리에 버퍼를 확보 및 이용한다.
또한, 서피스 매니저는 사용자 인터페이스 화면을 관리하는 안드로이드 플랫폼의 핵심부분으로서, 응용 프로그램에서 작성한 화면은 프레임 버퍼 드라이브를 거쳐 표시부 컨트롤러를 통해 표시부에 표시되게 된다. 즉, 응용 프로그램이나 사용자의 프로세스에서 만들어진 모든 동작들은 서피스 매니저를 통해 운영이 되며, 응용 프로그램과 프레임 버퍼 드라이버상에 위치하여 관리하게 된다. 특히, 안드로이드 시스템에서 생성되는 일반적인 그래픽들의 처리는 서피스 매니저의 gralloc모듈과 프레임 버퍼 드라이버를 통하여 그려지게 된다. 이에 따라, 본 발명은 gralloc 모듈을 재정의 함으로써 그래픽 버퍼의 크기를 계산하여 그 크기만큼 메모리를 할당받는다.
도 5 및 도 6에 도시된 바와 같이, Gralloc의 모듈 ID는 GRALLOC_HARDWARE_ID로 hw_get_module함수를 이용하여 gralloc 모듈 정보를 저장하는 hw_module_t 구조체 포인터를 반환받는다. GraphicBufferAllocator는 이렇게 반환된 hw_module_t를 통해 gralloc.default.so(밴더 라이브러리)의 디바이스 생성함수(gralloc_device_open())에 접근할 수 있게 된다(①).
gralloc 모듈을 초기화하기 위해서는 gralloc_open()을 호출한다. 그와 동시에 gralloc.default.so(밴더 라이브러리)의 gralloc_device_open()이 실행된다(②). gralloc_device_open()은 gralloc_context_t구조체를 생성하고 초기화한다(③). gralloc_context_t 구조체는 gralloc 모듈의 그래픽 버퍼 할당 함수 alloc()와 해제함수 free()에 대한 정보를 가지고 있다. 그리고 gralloc_open()에 의해 반환된 alloc_device_t 포인터는 GraphicBufferAllocator의 멤버 변수인 mAllocDev에 저장된다(④). 이때, gralloc_context_t 구조체의 멤버변수인 width 및 height는 프레임 버퍼의 해상도이며, format은 프레임 버퍼의 픽셀 포맷, xdpi, ydpi는 인치당 픽셀수, fps는 초당 화면 갱신률을 의미한다.
또한, mAllocDev에 저장하였던 alloc_device_t의 alloc()를 이용, 안드로이드는 그래픽 버퍼에 넣을 공간을 동적으로 할당하고, 변수에 해상도 포맷 정보등을 할당하여 사용한다. 이때, 구조체의 멤버 변수인 dev는 alloc_device_t 구조체의 포인터를 의미하고, w, h, f는 그래픽 버퍼의 너비, 넓이, 포맷 정보를 의미한다. 이 정보를 이용하여 그래픽 버퍼의 크기를 계산하여 그 크기만큼 메모리를 할당받는다(⑤, ⑥). usage는 gralloc_usage_hw_fb는 프레임 버퍼에서 메모리를 할당한다는 의미이다.
도 7은 기존의 안드로이드 화면 출력의 예시를 나타낸 도면이며, 도 8은 기존의 응용 프로그램 프로세스 실행 구조를 도시한 도면이고, 도 9는 본 발명의 일실시예에 따른 응용 프로그램 프로세스 실행 구조를 도시한 도면이다.
기존의 안드로이드 화면 출력은 도 7에 도시된 바와 같이, 터치 디바이스의 해상도에 맞는 그래픽 버퍼를 생성하고, 생성된 그래픽 버퍼에 응용 프로그램을 스택구조로 쌓아 우선순위에 따라 터치 디바이스의 화면에 출력된다. 하지만, 상기 터치 디바이스의 해상도에 맞는 그래픽 버퍼를 생성하여 스텍으로 관리하는 구조는 하나의 응용 프로그램을 구동하기 위한 환경으로서, 다수의 응용 프로그램이 실행될 경우, 현재 실행중인 응용 프로그램의 화면을 새롭게 실행된 응응 프로그램의 화면이 덮어씌우기 때문에 기존의 화면이 사라진다. 즉, 기존의 응용 프로그램 프로세스 실행은 도 8에 도시된 바와 같이, 현재 실행 중인 응용 프로그램 외에 새로운 응용 프로그램이 실행되면, 실행중이던 응용 프로그램의 프로세스를 OnPause()함수를 통해 Block 상태로 만들어서 대기상태로 만들고, 새로운 응용 프로그램의 프로세스만이 러닝상태로 실행됨에 따라 새로운 응용 프로그램만이 화면에 보여지게 되는 형태이다.
이러한 문제점을 해결하기 위하여 본 발명은 alloc_device_t 구조체의 alloc() 함수의 주요인자 중 하나인 w 및 h, 즉 그래픽 버퍼의 너비와 높이의 정보를 임의의 사용자 설정에 따라 결정하여 버퍼를 채워놓는다. 즉, 현재 응용 프로그램의 실행중에 다른 응용 프로그램이 실행되면, 현재 응용 프로그램이 OnPause() 상태가 아닌 러닝상태인채 새로운 응용 프로그램과 화면을 출력하는 자원을 공유하면서 사용하는 것이다.
다시 말해, 도 9에 도시된 바와 같이 본 발명은 응용 프로그램이 실행될 경우, 실행된 응용 프로그램의 프로세스 상태는 대기(ready)상태로 변경된다. 이때, 실행중인 다른 응용 프로그램이 없으면, 상기 대기(ready)상태였던 응용 프로그램은 러닝(running)상태로 변경되어 프로세스가 실행된다. 이어서, 새로운 응용 프로그램이 실행될 경우, 현재 실행중인 응용 프로그램과 새롭게 실행된 응용 프로그램의 프로세스가 타임 쉐어링(Time Sharing)방식으로 실행된다. 이때, 실행중인 프로세스를 종료하면 터미네이트(Terminate) 상태로 변경 후 종료하게 된다.
예를 들어, 종래의 멀티윈도우 구현은 응용 프로그램 A가 실행 중에, 응용 프로그램 B의 알림(notification)이 발생하면, 응용 프로그램 A를 notification 객체를 이용해서 블록 상태로 변경, 저장하게 된다. 이에 따라, 응용 프로그램 A가 액티비티 스택(activity stack)에서 팝(pop) 되는 것을 막아 응용 프로그램 B만 실행된다.
이와 달리, 본 발명은 응용 프로그램 A가 실행 중에, 응용 프로그램 B의 알림이 발생하면, 응용 프로그램 A가 블록(block) 상태가 아닌 러닝(running) 상태인채 응용 프로그램 A 및 B가 동시에 실행되도록 유지한다. 또한, 응용 프로그램 A 및 B는 오버레이 방식으로 화면에 출력되고, 사용자의 입력을 통해 응용 프로그램의 실행 우선순위와 화면 크기를 조절할 수 있게 된다.
안드로이드는 오픈 소스로서 리눅스 커널을 기반으로 다양한 플랫폼으로의 이식이 가능하면서도, 하드웨어에 독립적이며 재사용이 가능하다. 이에 따라, 오픈소스 운영체제인 리눅스를 지원하는 모든 기기들은 잠재적으로 안드로이드 포팅(porting)이 가능하며, 기존의 자바 언어를 사용하이에 개발자 입장에선 개발이 용이한 환경이라 할 수 있다. 하지만, 계층에 있어선 도 10에 도시된 바와 같이, 리눅스와 안드로이드가 동일하지 않다.
본 발명의 실시예에서는 응용 프로그램 작성을 위해 자바 언어를 지원해야 하므로, Java Core Library와 제작된 응용 프로그램의 구동을 위한 dalvik 가상머신이 추가되어, 안드로이드는 기존의 리눅스 커널에 안드로이드만을 위한 패치가 이루어진 형태이다. 이에 따라, 본 발명의 실시예에 따른 멀티윈도우 구동 어플리케이션 실행 순서는 도 11에 도시된 바와 같이, 멀티윈도우 구동 어플리케이션이 실행되면 Zygote Processor가 실행되고, Zygote Processor는 dilvik 가상머신을 메모리에 로드하고 초기화한다.
dilvik 가상 머신이 실행되고 dalivik 가상 머신과 응용 프로그램이이 결합된 상태로 응용 프로그램이 실행된다. dalvik 가상 머신의 특징은 Low Memory에 최적화되어 동작하고, 리눅스 커널을 사용하기 때문에 프로세스 독립성을 가지며, 리눅스의 메모리 관리와 스레딩을 사용할 수 있다.
안드로이드는 모든 응용 프로그램이 Dalvik 가상 머신 위에서 동작하기 때문에 소비되는 메모리가 늘어나고, 구동시간이 오래 걸릴 수 있다. 이에 따라, 안드로이드에서는 멀티윈도우 구동 어플리케이션을 효율적으로 구동시키기 위해서 링커가 라이브러리를 로드하고, Dalvik만의 영역을 별도로 할당하며, 할당된 Dalvik 가상 머신을 여러 응용 프로그램이 공유한다.
메모리 공유 방법은 COW(Copy on Write) 방법을 사용해서 공통된 내용은 메모리를 공유하고, 메모리 내용이 변경되면 해당 페이지만 복사해서 포인터를 변경함으로써 한정된 메모리 자원을 최대한 활용하여 응용 프로그램이 실행된다.
상술한 바와 같이, 본 발명의 멀티윈도우 구동 어플리케이션를 설치할 경우, 안드로이드 플랫폼상에서 사용자에게 보여주는 사용자 인터페이스 부분과 안드로이드 내 프로세스의 생명주기, 그래픽 메모리의 윈도우 생성 버퍼를 재정의하여 멀티윈도우 기능을 구현함에 따라, 본 발명의 멀티윈도우 구동 어플리케이션이 설치된 이후에 실행되는 응용 어플리케이션 및 기존에 설치된 응용 어플리케이션 모두 멀티윈도우 기능의 구현이 가능하며, 이에 따라 어플리케이션 개발자들은 터치 디바이스의 제조사별 특정 어플리케이션을 이용하지 않고도 멀티윈도우 기능을 이용할 수 있는 다양한 어플리케이션 구상 및 제작이 가능하다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.
110 : 무선통신부 120 : 사용자 입력부
130 : 표시부 140 : 저장부
150 : 전원공급부 160 : 제어부
210 : 토글바 212 : 멀티윈도우 아이콘
214 : 어플리케이션 알림 220 : 윈도우
222 : 실행영역 224 : 세퍼레이터
400 : 멀티윈도우 구동 어플리케이션 410 : 서피스 매니저 연동 모듈
420 : 윈도우 매니저 연동 모듈 430 : 액티비티 매니저 연동 모듈

Claims (8)

  1. 안드로이드 플랫폼이 탑재된 터치 디바이스에서 구현되는 어플리케이션에 있어서,
    상기 어플리케이션은,
    안드로이드 플랫폼의 서피스 매니저와 연동하여 다중 화면을 합성 및 관리하는 서피스 매니저 연동 모듈;
    안드로이드 플랫폼의 윈도우 매니저와 연동하여 응용 프로그램이 실행될 때, 윈도우의 사이즈와 해상도를 설정하는 윈도우 매니저 연동 모듈; 및
    안드로이드 플랫폼의 액티비티 매니저와 연동하여 응용 프로그램이 메모리에서 회수되는 것을 막기 위해 상태변경을 제어하는 액티비티 매니저 연동 모듈;로 구성되어,
    제1 응용 프로그램의 실행 중에 제2 응용 프로그램이 실행될 경우, 실행중이던 제1 응용 프로그램을 대기상태로 유지한 채, 화면을 출력하는 자원을 공유하여 상기 제1 응용 프로그램 및 제2 응용 프로그램이 개별적인 윈도우를 통해 동시에 실행되어 화면에 오버레이(overlay) 방식으로 표시되도록 유지시키는 것을 특징으로 하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션.
  2. 제 1항에 있어서,
    상기 액티비티 매니저 연동 모듈은,
    미리 설정된 너비와 높이 정보에 따라 그래픽 메모리에 윈도우 생성 버퍼를 확보하는 것을 특징으로 하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션.
  3. 제 1항에 있어서,
    상기 화면을 출력하는 자원의 공유는,
    공통된 내용은 메모리를 공유하고, 메모리 내용이 변경되면 해당 페이지만 복사해서 포인터를 변경하는 COW(Copy on Write) 방식을 사용하는 것을 특징으로 하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션.
  4. 제 1항에 있어서,
    상기 제1 응용 프로그램 및 제2 응용 프로그램이 실행되는 윈도우 각각은,
    응용 프로그램의 실행화면을 표시하는 실행영역과,
    윈도우 영역을 구분하고 실행영역의 윈도우 크기 조절을 지원하는 세퍼레이터를 포함하는 것을 특징으로 하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션.
  5. 제 1항에 있어서,
    상기 어플리케이션은,
    상기 터치 디바에스에서 제공되는 디스플레이 화면 상단에 위치한 토글바를 통해 멀티윈도우 아이콘을 제공하는 것을 특징으로 하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션.
  6. 제 5항에 있어서,
    상기 어플리케이션은,
    사용자로부터 멀티윈도우 아이콘을 선택받을 경우, 응용 프로그램에서 발생한 알림을 별도의 아이콘을 통해 화면에 디스플레이하고,
    사용자로부터 별도의 아이콘을 선택받을 경우, 알림이 발생된 응용 프로그램이 각각의 독립적인 윈도우를 통해 화면에 디스플레이되도록 제어하는 것을 특징으로 하는 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션.
  7. 제 1항 내지 제 6항 중 어느 한 항에 기재된 구성을 갖는 멀티윈도우 구동 어플리케이션이 설치된 안드로이드 플랫폼 기반의 터치 디바이스.
  8. 제 7항에 있어서,
    상기 터치 디바이스는,
    터치스크린을 구비한 스마트폰 또는 태블릿(tablet) 컴퓨터인 것을 특징으로 하는 안드로이드 플랫폼 기반의 터치 디바이스.
KR1020150018492A 2015-02-06 2015-02-06 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스 KR20160097415A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150018492A KR20160097415A (ko) 2015-02-06 2015-02-06 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150018492A KR20160097415A (ko) 2015-02-06 2015-02-06 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스

Publications (1)

Publication Number Publication Date
KR20160097415A true KR20160097415A (ko) 2016-08-18

Family

ID=56873959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150018492A KR20160097415A (ko) 2015-02-06 2015-02-06 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스

Country Status (1)

Country Link
KR (1) KR20160097415A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797716A (zh) * 2016-08-31 2018-03-13 腾讯科技(深圳)有限公司 一种信息显示控制方法和移动终端
CN108205427A (zh) * 2016-12-16 2018-06-26 大连中科创达软件有限公司 一种基于Android系统的多屏幕控制方法及装置
WO2019039871A1 (en) * 2017-08-22 2019-02-28 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND METHOD FOR OPERATING APPLICATIONS
WO2019054839A1 (ko) * 2017-09-18 2019-03-21 삼성전자 주식회사 멀티 윈도우를 지원하는 폴더블 전자 장치
CN110908764A (zh) * 2019-11-27 2020-03-24 四川长虹电器股份有限公司 一种实现Android消息管控的方法
CN113656196A (zh) * 2021-08-16 2021-11-16 深圳技德智能科技研究院有限公司 一种Linux兼容Android的应用间传送文件方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130126430A (ko) 2012-05-11 2013-11-20 삼성전자주식회사 멀티 윈도우 제공 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130126430A (ko) 2012-05-11 2013-11-20 삼성전자주식회사 멀티 윈도우 제공 방법 및 장치

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797716A (zh) * 2016-08-31 2018-03-13 腾讯科技(深圳)有限公司 一种信息显示控制方法和移动终端
CN107797716B (zh) * 2016-08-31 2021-04-06 腾讯科技(深圳)有限公司 一种信息显示控制方法和移动终端
CN108205427A (zh) * 2016-12-16 2018-06-26 大连中科创达软件有限公司 一种基于Android系统的多屏幕控制方法及装置
WO2019039871A1 (en) * 2017-08-22 2019-02-28 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND METHOD FOR OPERATING APPLICATIONS
WO2019054839A1 (ko) * 2017-09-18 2019-03-21 삼성전자 주식회사 멀티 윈도우를 지원하는 폴더블 전자 장치
US11262800B2 (en) 2017-09-18 2022-03-01 Samsung Electronics Co., Ltd. Foldable electronic device supporting multiwindow
CN110908764A (zh) * 2019-11-27 2020-03-24 四川长虹电器股份有限公司 一种实现Android消息管控的方法
CN113656196A (zh) * 2021-08-16 2021-11-16 深圳技德智能科技研究院有限公司 一种Linux兼容Android的应用间传送文件方法及装置
CN113656196B (zh) * 2021-08-16 2024-02-27 深圳技德应用技术有限公司 一种Linux兼容Android的应用间传送文件方法及装置

Similar Documents

Publication Publication Date Title
US10613701B2 (en) Customizable bladed applications
KR102220085B1 (ko) 멀티윈도우 운용 방법 및 이를 지원하는 전자 장치
US8924885B2 (en) Desktop as immersive application
US10417018B2 (en) Navigation of immersive and desktop shells
KR20160097415A (ko) 안드로이드 플랫폼상에서의 멀티윈도우 구동 어플리케이션 및 이를 구비한 터치 디바이스
JP5681191B2 (ja) コンピュータ周辺機器上にアプリケーションインターフェイス部を提供する方法および装置
US20140013271A1 (en) Prioritization of multitasking applications in a mobile device interface
KR102251834B1 (ko) 전자 장치의 디스플레이 방법
US9843665B2 (en) Display of immersive and desktop shells
US20120173986A1 (en) Background synchronization within a multi-environment operating system
CN103370684A (zh) 电子设备、显示方法以及程序
US20140298245A1 (en) Display Instance Management
CN102150199A (zh) 信息处理装置和程序
EP3757739A1 (en) Method for display when exiting an application, and terminal
KR20120138618A (ko) 모바일 디바이스에서 멀티태스킹 운용 방법 및 장치
US9225818B2 (en) Mobile terminal
US9146651B1 (en) Displaying multiple applications on limited capability devices
KR101667721B1 (ko) 다중 디스플레이 방법 및 이를 이용하는 이동 단말기
JP2010026883A (ja) 携帯情報端末、携帯情報処理方法及び携帯情報処理プログラム
JP2007249370A (ja) 表示制御装置、情報処理装置、表示制御方法及び表示制御プログラム
KR102619538B1 (ko) 멀티윈도우 운용 방법 및 이를 지원하는 전자 장치
KR101970157B1 (ko) 화면 출력 제어 방법과 시스템 및 이를 지원하는 단말기
US20140040799A1 (en) Efficient usage of screen real estate on an electronic device
KR20210022027A (ko) 멀티윈도우 운용 방법 및 이를 지원하는 전자 장치
US8127310B1 (en) Method and apparatus for dynamically switching display drivers in mobile device operating system

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination