KR101614070B1 - 무선 휴대 장치 부팅 방법 및 무선 휴대 장치 - Google Patents

무선 휴대 장치 부팅 방법 및 무선 휴대 장치 Download PDF

Info

Publication number
KR101614070B1
KR101614070B1 KR1020147020218A KR20147020218A KR101614070B1 KR 101614070 B1 KR101614070 B1 KR 101614070B1 KR 1020147020218 A KR1020147020218 A KR 1020147020218A KR 20147020218 A KR20147020218 A KR 20147020218A KR 101614070 B1 KR101614070 B1 KR 101614070B1
Authority
KR
South Korea
Prior art keywords
file
installation package
android installation
application directory
package file
Prior art date
Application number
KR1020147020218A
Other languages
English (en)
Other versions
KR20140103347A (ko
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 후아웨이 디바이스 컴퍼니 리미티드
Publication of KR20140103347A publication Critical patent/KR20140103347A/ko
Application granted granted Critical
Publication of KR101614070B1 publication Critical patent/KR101614070B1/ko

Links

Images

Classifications

    • 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
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Transceivers (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 부팅 방법 및 무선 휴대 전화에 대해 개시한다. 본 발명은 통신 기술 분야에 관한 것이다. 부팅 방법은: 무선 휴대 장치가 부팅될 때, 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중인 것으로 검출되면, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하는 단계(단, K는 0보다 큰 양의 정수)를 포함한다. 대응하는 무선 휴대 장치가 추가로 제공된다. 본 발명을 채택함으로써, 무선 휴대 장치의 부팅 속도가 향상될 수 있다.

Description

무선 휴대 장치 부팅 방법 및 무선 휴대 장치{WIRELESS HANDHELD DEVICE STARTUP METHOD AND WIRELESS HANDHELD DEVICE}
본 발명은 통신 기술 분야에 관한 것이며, 특히 무선 휴대 장치 부팅 방법 및 무선 휴대 장치에 관한 것이다.
현재, 기술의 발전에 따라, 무선 휴대 장치는 하나의 동향이 되었다. 예를 들어, 현재, 안드로이드(Android) 운영체제를 채택하고 있는 무선 휴대 장치가 갈수록 더 많이 사용자에게 보급되고 있다. 안드로이드 운영체제를 채택하고 있는 무선 휴대 장치의 발전과 함께, 무선 휴대 장치에 더 많은 애플리케이션이 설치되고 있으며, 이에 따라 무선 휴대 장치의 부팅 속도는 더욱 느려지고 있다.
종래기술의 솔루션은 무선 휴대 장치의 하드웨어 구성의 개선을 통해 부팅 속도를 향상시키고 있으나, 애플리케이션 설치의 증가로 인해, 무선 휴대 장치의 부팅 속도는 여전히 느리다.
본 발명의 실시예는 무선 휴대 장치 부팅 방법 및 무선 휴대 장치를 제공하여, 안드로이드 운영체제를 채택하고 있는 무선 휴대 장치의 부팅 속도를 향상시킨다.
한 관점에서, 부팅 방법이 제공되며, 상기 방법은,
무선 휴대 장치가 부팅될 때, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득하는 단계;
N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고 N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 사전설정된 데이터베이스로부터 판독하고 N번째 안드로이드 설치 패키지 파일의 정보를 패키지 서비스 목록에 부가하는 단계(단, N은 0보다 큰 양의 정수); 및
M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 사전설정된 데이터베이스에 저장하며, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 패키지 서비스 목록에 부가하는 단계(단, M은 0보다 큰 양의 정수)
를 포함한다.
다른 관점에서, 다른 부팅 방법이 제공되며, 상기 방법은,
무선 휴대 장치가 부팅될 때, 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중인 것으로 검출되면, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하는 단계(단, K는 0보다 큰 양의 정수)
를 포함한다.
다른 관점에서, 무선 휴대 장치가 제공되며, 상기 무선 휴대 장치는,
적어도 하나의 리드-온리 메모리;
적어도 하나의 랜덤 액세스 메모리; 및
상기 리드-온리 메모리 및 상기 랜덤 액세스 메모리에 연결되어 있는 적어도 하나의 프로세서
를 포함하며,
상기 프로세서는,
상기 무선 휴대 장치가 부팅될 때, 상기 리드-온리 메모리 내의 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득하고;
N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 리드-온리 메모리 내에 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고 N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 사전설정된 데이터베이스로부터 판독하고 N번째 안드로이드 설치 패키지 파일의 정보를 상기 랜덤 액세스 메모리 내의 패키지 서비스 목록에 부가하며(단, N은 0보다 큰 양의 정수); 그리고
M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 사전설정된 데이터베이스에 저장하며, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 패키지 서비스 목록에 부가하도록 구성되어 있다(단, M은 0보다 큰 양의 정수).
다른 관점에서, 다른 무선 휴대 장치가 제공되며, 상기 무선 휴대 장치는,
적어도 하나의 리드-온리 메모리;
적어도 하나의 랜덤 액세스 메모리; 및
상기 리드-온리 메모리 및 상기 랜덤 액세스 메모리에 연결되어 있는 적어도 하나의 프로세서
를 포함하며,
상기 프로세서는, 상기 무선 휴대 장치가 부팅될 때, 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중인 것으로 검출되면, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하도록 구성되어 있다(단, K는 0보다 큰 양의 정수).
본 발명의 실시예에서 제공하는 무선 휴대 장치 부팅 방법 및 무선 휴대 장치는 기술을 통해 안드로이드 운영체제를 채택하고 있는 무선 휴대 장치의 부팅 속도를 향상시킨다.
본 발명의 실시예의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예를 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1은 본 발명의 실시예 1에서 제공하는 부팅 방법에 대한 흐름도이다.
도 2는 본 발명의 실시예 2에서 제공하는 다른 부팅 방법에 대한 흐름도이다.
도 3은 본 발명의 실시예 3에서 제공하는 부팅 방법에 대한 흐름도이다.
도 4는 본 발명의 실시예 4에서 제공하는 다른 부팅 방법에 대한 흐름도이다.
도 5는 본 발명의 실시예 5에서 제공하는 무선 휴대 장치에 대한 개략도이다.
본 발명의 목적, 기술적 솔루션, 및 이점을 더 잘 이해할 수 있도록 하기 위해, 첨부된 도면 및 4개의 실시예를 참조하여 본 발명에 대해 더 상세히 설명한다.
먼저, 본 발명의 실시예에서 설명되는 무선 휴대 장치는 다양한 표준의 이동전화, 안드로이드 운영체제 기반의 스마트폰, 및 개인휴대단말(PDA)과 같이, 무선 통신 기능을 갖춘 전자 장치를 포함하되, 이에 제한되지 않는다.
이하에 논의된 상세한 설명을 참조하여 본 발명의 각각의 실시예를 설명하며, 각각의 실시예는 첨부된 도면으로 도해되어 있다. 이하의 상세한 설명 및 도면은 본 발명을 설명하기 위한 것이며, 본 발명을 제한하려는 것으로 파악해서는 안 된다. 본 발명의 각각의 실시예를 종합적으로 이해할 수 있도록 많은 특정한 상세에 대해 설명한다. 그렇지만, 일부의 실시예에서는, 본 발명의 실시예에 대한 설명을 간결하게 하기 위해, 잘 알려져 있거나 종래의 상세에 대해서는 설명하지 않을 것이다.
이하에 상세히 설명되는 일부의 부분은 알고리즘의 형태로 제공되며, 이 알고리즘은
컴퓨터 메모리에 저장되어 있는 데이터에 대한 연산을 포함한다. 일반적으로, 알고리즘은 기대 결과를 획득하는 연산 순서이다. 이러한 연산은 통상적으로 물리량의 물리적 조작을 필요로 하거나 포함한다. 일반적으로(반드시 필요하지는 않을지라도), 이러한 양은 전기 신호 또는 자기 신호와 같이, 저장, 전송, 결합, 비교 또는 다른 방식으로 조작될 수 있는 형태를 취하고 있다. 때때로, 이러한 신호를 주로 통용되고 있는 비트, 값, 요소, 부호, 문자, 항목 및 숫자로 언급하는 것이 편리하다는 것은 입증되었다.
그렇지만, 이러한 용어 및 유사한 용어 전부는 적절한 물리량과 연관되어 있고 단지 이러한 양에 적용된 편리한 표시일 뿐이다. 명세서 전반에서, "처리하다", "부가하다", "획득하다", "부팅하다", "검출하다", "저장하다", "설치하다", "실행하다", "압축풀기하다", 또는 "동기화하다"와 같은 용어를 채택하는 논의는, 다른 방식의 특정한 선언이 이하의 논의에서 자명하게 나타나지 않는 한, 데이터 프로세싱 시스템 또는 유사한 전자 장치의 동작 및 프로세싱을 말한다. 데이터 프로세싱 시스템 또는 전자 장치는 시스템의 레지스터 및 메모리 내의 물리(전자)량으로 표현되는 데이터를 조작하고, 그 데이터를, 시스템의 레지스터 및 메모리 내에서, 또는 이러한 종류의 다른 정보 저장, 전송 또는 디스플레이 장치에서 다른 방식의 물리량으로 표현되는 다른 데이터로 변환한다.
본 발명의 실시예에 포함되어 있는 안드로이드 설치 패키지에서 안드로이드 설치 패키지의 전체 명칭을 APK로 약칭한다는 것에 유의해야 한다. 안드로이드 에뮬레이터 또는 안드로이드 이동전화에 APK 파일이 실행을 위해 직접 전달된 후 이 APK 파일이 설치될 수 있다. 사실, APK 파일은 zip 포맷으로 되어 있지만, 확장명이 apk로 변경된다. UnZip 압축풀기 후, Dex 파일을 볼 수 있다. Dex는 Dalvik VM excutes, 즉 Android Dalvik 실행 프로그램의 약칭이고, 이것은 Java ME 바이트코드가 아니라 Dalvik 바이트코드이다.
패키지 서비스 목록은 package service list이고 랜덤 액세스 메모리에 저장되어 있다. 사전설정된 데이터베이스 database는 저장 경로 또는 저장 디렉터리이고, 리드-온리 메모리에 저장되어 있다. 시스템 애플리케이션 디렉터리는 /system/app이고, 데이터 애플리케이션 디렉터리는 /data/app이며, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리는 동일한 리드-온리 메모리에 저장되어 있다. 데이터베이스 내의 기록은: record이고, 예를 들어, apk 파일의 파일명, 생성 시간 및 파일 크기의 정보를 기록하는 데 사용되거나, 또는 예를 들어, apk 파일의 파일명, 생성 시간 및 파일 크기의 정보의 인덱스를 기록하는 데 사용된다. 또한, 사전설정된 데이터베이스, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리는 동일한 리드-온리 메모리에 저장될 수 있다.
실시예 1
도 1을 참조하면, 실시예 1에서 제공하는 부팅 방법은 구체적으로 다음과 같다.
A01: 무선 휴대 장치가 부팅될 때, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득한다.
무선 휴대 장치가 부팅될 때, 시스템 애플리케이션 디렉터리(/system/app) 및 데이터 애플리케이션 디렉터리(/data/app) 내의 각각의 안드로이드 설치 패키지(APK) 파일을 스캐닝하여 각각의 APK 파일의 파일명, 생성 시간 및 파일 크기를 판독한다. 보완 또는 예외적으로, 각각의 APK 파일의 파일명, 생성 시간, 파일 크기, 및 버전 수 중 적어도 하나 또는 임의의 조합 역시 판독될 수 있다는 것에 유의해야 한다.
전술한 부팅은 콜드 부팅(cold start)을 말하며, 환언하면, 무선 휴대 장치의 최초의 부팅과 같이, 무선 휴대 장치가 완전히 꺼져 있는 상황 하에서 부팅, 또는 전지를 빼낸 다음 전지를 끼워 넣은 후의 부팅을 말한다는 것에 유의해야 한다. 콜드 부팅은 핫 부팅(hot start)에 상대적으로 언급된다. 핫 부팅은 일부의 무선 휴대 장치가 불완전한 턴오프 방식을 채택하는 것을 말하는데, 즉, 턴오프되기 전의 시간 주기 동안 운용된 후, 일부의 기능 모듈이 턴오프되지 않고 있는 것을 말한다. 이러한 턴오프 방식은 부팅 속도를 높일 수 있다. 본 발명의 실시예에서 채택하는 방법은 무선 휴대 장치의 콜드 부팅의 시나리오에 적용 가능하다.
A03: N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고 N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 사전설정된 데이터베이스로부터 판독하고 N번째 안드로이드 설치 패키지 파일의 정보를 패키지 서비스 목록에 부가하며, 여기서, N은 0보다 큰 양의 정수이다.
N번째 안드로이드 설치 패키지 파일의 정보는 제공자(providers), 서비스(services), 수신자(recievers), 활동성(activities), 허가단체(permissionGroups), 허가(permissions) 및 측량기(instrumentation)를 포함하되, 이에 제한되지 않는다.
사전설정된 데이터베이스(database)로부터 파일명에 대응하는 대응 기록(record)을 획득하고; N번째 APK 파일의 기록이 데이터베이스에 저장되어 있으면, N번째 APK 파일의 그 획득된 생성 시간 및 파일 크기가 데이터베이스 내의 대응하는 기록에 저장되어 있는 생성 시간 및 파일 크기와 일치하는 것을 비교할 때, N번째 APK 파일의 정보가 데이터베이스로부터 판독되고, N번째 APK 파일의 정보가 패키지 서비스 목록에 부가되며, 여기서, N은 0보다 큰 양의 정수이다.
단계 A03에서 획득된 APK 파일의 수가 L이면, N은 0보다 크고 L보다 작거나 같은 정수이다는 것에 유의해야 한다. 환언하면, L개의 획득된 APK 파일의 모든 파일명에 있어서, 데이터베이스가 기록을 저장하고 있는지를 결정해야 한다. N번째 APK 파일이 기록을 가지고 있으면, N번째 APK 파일의 그 획득된 생성 시간 및 파일 크기가 데이터베이스 내의 대응하는 기록에 저장되어 있는 생성 시간 및 파일 크기와 일치하는지를 추가로 결정해야 한다. 일치하면, 데이터베이스로부터 N번째 APK 파일의 정보가 판독되고, 그 N번째 APK 파일의 정보는 패키지 서비스 목록에 부가된다.
A05: M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 사전설정된 데이터베이스에 저장하며, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 패키지 서비스 목록에 부가하며, 여기서, M은 0보다 큰 양의 정수이다.
M번째 안드로이드 설치 패키지 파일의 정보는 제공자(providers), 서비스 (services), 수신자(recievers), 활동성(activities), 허가단체(permissionGroups), 허가(permissions) 및 측량기(instrumentation)를 포함하되, 이에 제한되지 않는다.
사전설정된 데이터베이스(database)로부터 그 획득된 APK 파일의 대응 기록(record)을 획득한다. M번째 APK 파일의 기록이 데이터베이스에 존재하지 않으면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가된다.
대안으로, M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고, M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가되며, 여기서, M은 0보다 큰 양의 정수이다.
단계 A03에서 획득된 APK 파일의 수가 L이면, M은 0보다 크고 L보다 작거나 같은 정수이다는 것에 유의해야 한다. 환언하면, L개의 획득된 APK 파일의 모든 파일명에 있어서, 데이터베이스가 기록을 저장하고 있는지를 결정해야 한다. M번째 APK 파일이 기록을 가지고 있지 않으면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가된다.
M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고, M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가되며, 여기서, M은 0보다 큰 양의 정수이다.
패키지의 정보는 제공자(providers), 서비스 (services), 수신자(recievers), 활동성(activities), 허가단체(permissionGroups), 허가(permissions) 및 측량기(instrumentation)를 포함하되, 이에 제한되지 않는다는 는 것에 유의해야 한다.
단계 A01 내지 A05의 실행 주체는 무선 휴대 장치임에 유의해야 한다.
실시예 1에서 제공하는 부팅 방법에서, 사전설정된 데이터베이스에 /system/app 및 /data/app 내의 각각의 APK 파일의 파일명, 생성 시간 및 파일 크기의 정보를 저장함으로써, 매번 부팅 동안 /system/app 및 /data/app 내의 모든 APK 파일을 분석하는 것이 회피되며, 이에 의해 무선 휴대 장치의 부팅 속도를 향상시킨다.
실시예 2
실시예 2는 다른 부팅 방법을 제공한다. 도 2에 도시된 바와 같이, 먼저, 애플리케이션 시나리오는 실시예 1의 시나리오와 동일하고, 단계 A01 내지 A05는 실시예 1에서의 대응하는 단계들과 동일하며, 이에 대해서는 여기서 반복 설명하지 않는다.
선택적으로, 단계 A03 전후에, 또는 단계 A03과 단계 A05 사이에, 또는 단계 A05 후에, 방법은 이하를 더 포함한다:
A07: 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중일 때, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 상기 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기하며, 여기서, K는 0보다 큰 양의 정수이다.
무선 휴대 장치의 부팅 프로세스에서, /data/app 내의 소정의 app 파일(K번째 APK 파일)이 설치를 수행 중이거나 갱신 중일 때, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 /data/app 내의 사전설정된 서브디렉터리에 압축풀기하며, 환언하면, Unpacking libs 조작이 실행되며; 그렇지 않으면, 라이브러리 파일을 압축풀기하는 조작이 실행되지 않으며, 즉 Unpacking libs 조작이 실행되지 않는다.
/data/app 내에 H개의 APK 파일이 있으면, K는 0보다 크고 H보다 작은 정수이다는 것에 유의해야 한다. 사전설정된 서브디렉터리는 /data/app/data일 수 있거나, 다른 서브디렉터리일 수 있으며, 이에 대해서는 여기서 제한되지 않는다.
단계 A07은 선택 단계이고, 이 단계를 부가함으로써, 무선 휴대 장치는 /data/app 내의 모든 APK 파일에 대해서 라이브러리 파일을 압축풀기하는 조작을 실행하는 것이 아니라, 부팅 프로세스에서 /data/app에서 설치를 수행 중이거나 갱신 중인 APK 파일에 대해서만 라이브러리 파일을 압축풀기하는 조작을 실행하는 것이며, 이에 의해 무선 휴대 장치의 부팅 시간을 더 단축한다.
단계 A07은 단계 A01과 단계 A03 사이에 실행될 수 있거나, 단계 A01과 단계 A05 사이에 실행될 수 있거나, 단계 A05 후에 실행될 수 있다는 것에 유의해야 한다.
선택적으로, 단계 A07 후에, 방법은 이하를 포함한다:
A09: 무선 휴대 장치가 부팅된 후, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 하나 이상의 안드로이드 설치 패키지 파일이 갱신되거나 삭제되면, 사전설정된 데이터베이스에 저장되어 있는 대응하는 기록을 동기화하며; 시스템 애플리케이션 디렉터리 또는 데이터 애플리케이션 디렉터리에 새로운 안드로이드 설치 패키지 파일이 설치되면, 상기 설치된 새로운 안드로이드 설치 패키지 파일을 사전설정된 데이터베이스에 저장한다.
무선 휴대 전화의 부팅이 완료된 후, 즉 무선 휴대 전화가 부팅된 후, /system/app 및 /data/app 내의 하나 이상의 APK 파일이 갱신되거나 삭제되면, 데이터베이스에 저장되어 있는 대응하는 기록(들)이 동기화되며; /system/app 및 /data/app에 새로운 안드로이드 설치 패키지 파일이 설치되면, 그 설치된 새로운 안드로이드 설치 패키지 파일을 데이터베이스에 저장한다.
설치된 새로운 APK 파일의 정보는 파일명, 생성 시간 및 파일 크기를 포함한다는 것에 유의해야 한다. 보완 또는 예외적으로, 버전 수 등이 추가로 포함될 수 있다.
단계 A09는 선택 단계이고, 단계 A09를 부가함으로써, 사전설정된 데이터베이스가 제때에 동기화될 수 있으며, 다음번 부팅에서 APK 파일을 분석하는 동작이 회피될 수 있으며, 이에 의해 무선 휴대 장치의 부팅 시간을 더 단축한다.
실시예 2에서 제공하는 부팅 방법에서, 사전설정된 데이터베이스에 /system/app 및 /data/app 내의 각각의 APK 파일의 파일명, 생성 시간 및 파일 크기의 정보를 저장함으로써, 매번 부팅 동안 /system/app 및 /data/app 내의 모든 APK 파일을 분석하는 것이 회피되며, 이에 의해 무선 휴대 장치의 부팅 속도를 향상시키며; 부팅 프로세스에서 /data/app에서 설치를 수행 중이거나 갱신 중인 APK 파일에 대해서만 라이브러리 파일을 압축풀기하는 조작을 실행함으로써, 무선 휴대 장치의 부팅 시간이 더 단축되며; 또한, 다음번 부팅에서 APK 파일을 분석하는 동작을 수행하는 단계가 회피될 수 있으며, 이에 의해 무선 휴대 장치의 부팅 시간이 더 단축된다.
실시예 3
실시예 3은 다른 부팅 방법을 제공한다. 도 3에 도시된 바와 같이, 먼저, 애플리케이션 시나리오는 실시예 1 및 실시예 2의 시나리오와 동일하다. 구체적으로, 도 3을 참조하면, 실시예 3에서 제공하는 부팅 방법의 특정한 단계들에 대해 이하에 설명한다.
B01: 무선 휴대 장치가 부팅될 때, 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중인 것으로 검출되면, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하며, 여기서, K는 0보다 큰 양의 정수이다.
무선 휴대 장치가 부팅될 때, /data/app 내의 각각의 K번째 파일이 설치를 수행 중이거나 갱신 중인 것으로 검출되며, 하나 이상의 APK 파일이 설치를 수행 중이거나 갱신 중인 것으로 검출되면, 설치를 수행 중이거나 갱신 중인 APK 파일의 라이브러리 파일을 데이터베이스 내의 사전설정된 서브디렉터리에 압축풀기를 수행하며, 즉 Unpacking libs 조작이 실행된다.
/data/app 내에 H개의 APK 파일이 있으면, K는 0보다 크고 H보다 작거나 같은 정수이다는 것에 유의해야 한다. 사전설정된 서브디렉터리는 /data/app/data일 수 있거나, 다른 서브디렉터리일 수 있으며, 이에 대해서는 여기서 제한되지 않는다.
선택적으로, B03: APK 파일이 설치를 수행 중이거나 갱신 중이 아닌 것으로 검출되면, 라이브러리 파일을 압축풀기하는 조작을 실행하지 않는다.
APK 파일이 설치를 수행 중이거나 갱신 중이 아님이 검출되면, 라이브러리 파일을 압축풀기하는 조작을 실행하지 않으며, 즉 Unpacking libs 조작이 실행되지 않는다.
단계 B01 내지 단계 B03의 실행 주체는 무선 휴대 장치임에 유의해야 한다.
실시예 3에서 제공하는 부팅 방법에서, 부팅 프로세스에서 /data/app에서 설치를 수행 중이거나 갱신 중인 APK 파일에 대해서만 라이브러리 파일을 압축풀기하는 조작을 실행함으로써, 무선 휴대 장치의 부팅 시간이 단축된다.
실시예 4
실시예 4는 다른 부팅 방법을 제공한다. 도 4에 도시된 바와 같이, 먼저, 애플리케이션 시나리오는 실시예 1 내지 실시예 3의 시나리오와 동일하고, 단계 B01 및 단계 B03은 실시예 3의 대응하는 단계들과 동일하며, 이에 대해서는 여기서 반복 설명하지 않는다.
선택적으로, 단계 B01 전후에, 단계 B01과 단계 B03 사이에, 또는 단계 B03 후에, 방법은 이하를 더 포함한다:
B05: 무선 휴대 장치가 부팅될 때, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득한다.
무선 휴대 장치가 부팅될 때, 시스템 애플리케이션 디렉터리(/system/app) 및 데이터 애플리케이션 디렉터리(/data/app) 내의 각각의 안드로이드 설치 패키지(APK) 파일을 스캐닝하여 각각의 APK 파일의 파일명, 생성 시간 및 파일 크기를 판독한다.
선택적으로, 단계 B05 후에, 방법은 이하를 더 포함한다:
B07: N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고, N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 사전설정된 데이터베이스로부터 판독하고 N번째 안드로이드 설치 패키지 파일의 정보를 패키지 서비스 목록에 부가하며, 여기서, N은 0보다 큰 양의 정수이다.
N번째 안드로이드 설치 패키지 파일의 정보는 제공자(providers), 서비스(services), 수신자(recievers), 활동성(activities), 허가단체(permissionGroups), 허가(permissions) 및 측량기(instrumentation)를 포함하되, 이에 제한되지 않는다.
사전설정된 데이터베이스(database)로부터 파일명에 대응하는 대응 기록(record)을 획득하고; N번째 APK 파일의 기록이 데이터베이스에 저장되어 있으면, N번째 APK 파일의 그 획득된 생성 시간 및 파일 크기가 데이터베이스 내의 대응하는 기록에 저장되어 있는 생성 시간 및 파일 크기와 일치하는 것을 비교할 때, N번째 APK 파일의 정보가 데이터베이스로부터 판독되고, N번째 APK 파일의 정보가 패키지 서비스 목록에 부가되며, 여기서, N은 0보다 큰 양의 정수이다.
단계 B05에서 획득된 APK 파일의 수가 L이면, N은 0보다 크고 L보다 작거나 같은 정수이다는 것에 유의해야 한다. 환언하면, L개의 획득된 APK 파일의 모든 파일명에 있어서, 데이터베이스가 기록을 저장하고 있는지를 결정해야 한다. N번째 APK 파일이 기록을 가지고 있으면, N번째 APK 파일의 그 획득된 생성 시간 및 파일 크기가 데이터베이스 내의 대응하는 기록에 저장되어 있는 생성 시간 및 파일 크기와 일치하는지를 추가로 결정해야 한다. 일치하면, 데이터베이스로부터 N번째 APK 파일의 정보가 판독되고, 그 N번째 APK 파일의 정보는 패키지 서비스 목록에 부가된다.
선택적으로, 단계 B05 후에, 또는 단계 B07후에, 또는 단계 B05와 단계 B07 사이에, 방법은 이하를 더 포함한다:
B09: M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 사전설정된 데이터베이스에 저장하며, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 패키지 서비스 목록에 부가하며, 여기서, M은 0보다 큰 양의 정수이다.
M번째 안드로이드 설치 패키지 파일의 정보는 제공자(providers), 서비스(services), 수신자(recievers), 활동성(activities), 허가단체(permissionGroups), 허가(permissions) 및 측량기(instrumentation)를 포함하되, 이에 제한되지 않는다.
사전설정된 데이터베이스(database)로부터 그 획득된 APK 파일의 대응하는 대응 기록(record)을 판독한다. M번째 APK 파일의 기록이 데이터베이스에 존재하지 않으면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가된다.
대안으로, M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고, M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가되며, 여기서, M은 0보다 큰 정수이다.
단계 B05에서 획득된 APK 파일의 수가 L이면, M은 0보다 크고 L보다 작거나 같은 정수이다는 것에 유의해야 한다. 환언하면, L개의 획득된 APK 파일의 모든 파일명에 있어서, 데이터베이스가 기록을 저장하고 있는지를 결정해야 한다. N번째 APK 파일이 기록을 가지고 있으면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가된다.
M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고, M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, 함수 scanPackageLI가 발동되어 M번째 APK 파일로부터 Package를 분석하고, Package의 정보는 데이터베이스에 저장되며, Package의 정보는 패키지 서비스 목록에 부가되며, 여기서, M은 0보다 큰 정수이다.
패키지의 정보는 제공자(providers), 서비스(services), 수신자(recievers), 활동성(activities), 허가단체(permissionGroups), 허가(permissions) 및 측량기(instrumentation)를 포함하되, 이에 제한되지 않는다는 것에 유의해야 한다.
선택적으로, 단계 B07 또는 단계 B09 후에, 방법은 이하를 더 포함한다:
B11: 무선 휴대 장치가 부팅된 후, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 하나 이상의 안드로이드 설치 패키지 파일이 갱신되거나 삭제되면, 사전설정된 데이터베이스에 저장되어 있는 대응하는 기록을 동기화하며; 시스템 애플리케이션 디렉터리 또는 데이터 애플리케이션 디렉터리에 새로운 안드로이드 설치 패키지 파일이 설치되면, 상기 설치된 새로운 안드로이드 설치 패키지 파일을 사전설정된 데이터베이스에 저장한다.
무선 휴대 전화의 부팅이 완료된 후, 즉 무선 휴대 전화가 부팅된 후, /system/app 및 /data/app 내의 하나 이상의 APK 파일이 갱신되거나 삭제되면, 데이터베이스에 저장되어 있는 대응하는 기록이 동기화되며; /system/app 및 /data/app에 새로운 안드로이드 설치 패키지 파일이 설치되면, 그 설치된 새로운 안드로이드 설치 패키지 파일을 데이터베이스에 저장한다.
설치된 새로운 APK 파일의 정보는 파일명, 생성 시간 및 파일 크기를 포함한다는 것에 유의해야 한다. 보완 또는 예외적으로, 버전 수 등이 추가로 포함될 수 있다는 것에 유의해야 한다.
단계 B11은 선택 단계이고, 단계 B11을 부가함으로써, 사전설정된 데이터베이스가 제때에 동기화될 수 있으며, 다음번 부팅에서 APK 파일을 분석하는 동작이 회피될 수 있으며, 이에 의해 무선 휴대 장치의 부팅 시간을 더 단축한다.
단계 B01 내지 B11의 실행 주체는 무선 휴대 장치임에 유의해야 한다.
실시예 4에서 제공하는 부팅 방법에서, 부팅 프로세스에서 /data/app에서 설치를 수행 중이거나 갱신 중인 APK 파일에 대해서만 라이브러리 파일을 압축풀기하는 조작을 실행함으로써, 무선 휴대 장치의 부팅 시간이 단축되며; 사전설정된 데이터베이스에, /system/app 및 /data/app 내의 각각의 APK 파일의 파일명, 생성 시간 및 파일 크기의 정보를 저장함으로써, 매번 부팅 동안 /system/app 및 /data/app 내의 모든 APK 파일을 분석하는 것이 회피되며, 이에 의해 무선 휴대 장치의 부팅 속도를 향상시키며; 또한, 사전설정된 데이터베이스를 제때에 추가로 동기화함으로써, 다음번 부팅에서 APK 파일을 분석하는 동작을 수행하는 단계가 회피될 수 있으며, 이에 의해 무선 휴대 장치의 부팅 시간이 더 단축된다.
본 발명의 선행 실시예의 순서 번호는 단지 설명 목적을 위한 것에 지나지 않으며, 실시예의 선호도를 나타내는 것이 아니다.
전술한 실행에 대한 설명을 통해, 본 발명은 하드웨어를 통해, 또는 소프트웨어와 필요한 범용 하드웨어 플랫폼을 통해 달성될 수 있다는 것은 당업자에게 자명하다. 이러한 이해를 바탕으로, 본 발명의 기술적 솔루션은 소프트웨어 제품의 형태로 매립될 수 있다. 소프트웨어 제품은 하나의 비휘발성 저장 매체(예를 들어, CD-ROM, U-디스크, 또는 탈착가능형 하드디스크)에 자정될 수 있으며, 한 세트의 컴퓨터 기기(예를 들어, 퍼스널 컴퓨터, 서버, 또는 네트워크 설비)에 명령을 내리도록 적합된 수 개의 명령을 포함하여 본 발명의 각각의 실시예에 따른 방법을 수행한다.
실시예 5
도 5는 본 발명의 실시예 5에서 제공하는 무선 휴대 장치에 대한 개략도이다. 무선 휴대 장치는 적어도 하나의 프로세서 C01, 적어도 하나의 리드-온리 메모리(ROM) C02 및 적어도 하나의 랜덤 액세스 메모리(RAM) C08을 포함할 수 있으며, 이것들은 서로 버스 C03을 통해 연결되어 있다.
선택적으로, 무선 휴대 장치는 디스플레이 제어기, 및 버스를 통해 다른 구성요소와 연결되어 있는 디스플레이 C04를 더 포함한다.
선택적으로, 무선 휴대 장치는 버스를 통해 다른 구성요소와 연결되어 있는 하나 이상의 I/O(입력/출력) 제어기 C05를 더 포함한다. 하나 이상의 I/O(입력/출력) 제어기 C05는 하나 이상의 I/O(입력/출력) 장치 C06에 인터페이스/인터페이스들을 제공한다.
선택적으로, 무선 휴대 장치는 디스플레이 제어기, 및 버스를 통해 다른 구성요소와 연결되어 있는 무선 주파수 송수신기 C07을 다 포함한다.
버스 C03은 종래기술의 다양한 브리지를 통해 서로 접속된 하나 이상의 버스, 제어기 및/또는 어댑터를 더 포함할 수 있다. I/O 장치 C05는 키패드, 키보드 또는 커서, 또는 터치스크린의 제어기를 포함할 수 있다.
본 발명의 실시예 5는 무선 휴대 장치를 제공하며, 상기 무선 휴대 장치는:
적어도 하나의 리드-온리 메모리 C02;
삭제
적어도 하나의 랜덤 액세스 메모리 C08; 및
상기 리드-온리 메모리 C02 및 상기 랜덤 액세스 메모리 C08에 연결되어 있는 적어도 하나의 프로세서 C01
를 포함하며,
상기 프로세서 C01은,
무선 휴대 장치가 부팅될 때, 상기 리드-온리 메모리 C02 내의 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득하고; N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 리드-온리 메모리 C02 내에 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고, N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 사전설정된 데이터베이스로부터 판독하고 N번째 안드로이드 설치 패키지 파일의 정보를 상기 랜덤 액세스 메모리 C08 내의 패키지 서비스 목록에 부가하며(단, N은 0보다 큰 양의 정수); 그리고 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 사전설정된 데이터베이스에 저장하며, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 패키지 서비스 목록에 부가하도록 구성되어 있으며, 여기서, M은 0보다 큰 양의 정수이다.
선택적으로, 프로세서 C01은, 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중일 때, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하도록 구성되어 있으며, 여기서, K는 0보다 큰 양의 정수이다.
선택적으로, 프로세서 C01은, 무선 휴대 장치가 부팅된 후, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 하나 이상의 안드로이드 설치 패키지 파일이 갱신되거나 삭제되면, 사전설정된 데이터베이스에 저장되어 있는 대응하는 기록을 동기화하며; 시스템 애플리케이션 디렉터리 또는 데이터 애플리케이션 디렉터리에 새로운 안드로이드 설치 패키지 파일이 설치되면, 설치된 새로운 안드로이드 설치 패키지 파일을 사전설정된 데이터베이스에 저장하도록 추가로 구성되어 있다.
무선 휴대 장치의 각각의 하드웨어에 의해 수행되고 하드웨어 및 대응하는 소프트웨어와 합동으로 수행되는 동작에 대해서는, 실시예 1에서의 방법의 A01 내지 A05 또는 실시예 2에서의 A01 내지 A09를 참조하면 되며, 이에 대해서는 여기서 반복 설명하지 않는다.
부가적으로, 컴퓨터 판독 가능형 매체(또는 매체)가 추가로 제공되며, 이하의 동작을 수행하기 위해: 실시예 1에서의 방법의 A01 내지 A05를 수행하기 위해 또는 실시예 2에서의 A01 내지 A09를 수행하기 위해 실행되는 컴퓨터 판독 가능형 명령을 포함한다.
본 발명의 실시예 5에서 제공하는 제1 무선 휴대 장치에 따르면, 사전설정된 데이터베이스에, /system/app 및 /data/app 내의 각각의 APK 파일의 파일명, 생성 시간 및 파일 크기의 정보를 저장함으로써, 매번 부팅 동안 /system/app 및 /data/app 내의 모든 APK 파일을 분석하는 것이 회피되며, 이에 의해 무선 휴대 장치의 부팅 속도를 향상시키며; 부팅 프로세스에서 /data/app에서 설치를 수행 중이거나 갱신 중인 APK 파일에 대해서만 라이브러리 파일을 압축풀기하는 조작을 실행함으로써, 무선 휴대 장치의 부팅 시간이 더 단축되며; 또한, 사전설정된 데이터베이스를 제때에 동기화함으로써, 다음번 부팅에서 APK 파일을 분석하는 동작을 수행하는 단계가 회피될 수 있으며, 이에 의해 무선 휴대 장치의 부팅 시간이 더 단축된다.
본 발명의 실시예 5는 다른 무선 휴대 장치를 추가로 제공하며, 상기 장치는:
적어도 하나의 리드-온리 메모리 C02;
삭제
적어도 하나의 랜덤 액세스 메모리 C08; 및
상기 리드-온리 메모리 C02 및 상기 랜덤 액세스 메모리 C08에 연결되어 있는 적어도 하나의 프로세서 C01
을 포함하며,
상기 프로세서 C01은, 무선 휴대 장치가 부팅될 때, 상기 리드-온리 메모리 C02 내의 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중인 것으로 검출되면, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하도록 구성되어 있으며, 여기서, K는 0보다 큰 양의 정수이다.
선택적으로, 프로세서 C01은, 무선 휴대 장치가 부팅될 때, 상기 리드-온리 메모리 C02 내의 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득하고; N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 리드-온리 메모리 C02 내의 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고 N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 상기 사전설정된 데이터베이스로부터 판독하고 상기 N번째 안드로이드 설치 패키지 파일의 정보를 상기 랜덤 액세스 메모리 C08 내의 패키지 서비스 목록에 부가하며(단, N은 0보다 큰 양의 정수); 그리고 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 사전설정된 데이터베이스에 저장하며, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 패키지 서비스 목록에 부가하도록 구성되어 있으며, 여기서, M은 0보다 큰 양의 정수이다.
선택적으로, 프로세서 C01은, 무선 휴대 장치가 부팅된 후, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 하나 이상의 안드로이드 설치 패키지 파일이 갱신되거나 삭제되면, 사전설정된 데이터베이스에 저장되어 있는 대응하는 기록을 동기화하며; 시스템 애플리케이션 디렉터리 또는 데이터 애플리케이션 디렉터리에 새로운 안드로이드 설치 패키지 파일이 설치되면, 상기 설치된 새로운 안드로이드 설치 패키지 파일을 사전설정된 데이터베이스에 저장하도록 추가로 구성되어 있다.
무선 휴대 장치의 각각의 하드웨어에 의해 수행되고 하드웨어 및 대응하는 소프트웨어와 합동으로 수행되는 동작에 대해서는, 실시예 3에서의 방법의 B01 내지 B03 또는 실시예 4에서의 B01 내지 B11을 참조하면 되며, 이에 대해서는 여기서 반복 설명하지 않는다.
부가적으로, 컴퓨터 판독 가능형 매체(또는 매체)가 추가로 제공되며, 이하의 동작을 수행하기 위해: 실시예 3에서의 방법의 B01 내지 B03을 수행하기 위해 또는 실시예 4에서의 B01 내지 B11을 수행하기 위해 실행되는 컴퓨터 판독 가능형 명령을 포함한다.
본 발명의 실시예에서 제공하는 무선 휴대 장치에 따르면, 부팅 프로세스에서 /data/app에서 설치를 수행 중이거나 갱신 중인 APK 파일에 대해서만 라이브러리 파일을 압축풀기하는 조작을 실행함으로써, 무선 휴대 장치의 부팅 시간이 단축되며; 사전설정된 데이터베이스에, /system/app 및 /data/app 내의 각각의 APK 파일의 파일명, 생성 시간 및 파일 크기의 정보를 저장함으로써, 매번 부팅 동안 /system/app 및 /data/app 내의 모든 APK 파일을 분석하는 것이 회피되며, 이에 의해 무선 휴대 장치의 부팅 속도를 더 향상시키며; 또한, 사전설정된 데이터베이스를 제때에 추가로 동기화함으로써, 다음번 부팅에서 APK 파일을 분석하는 동작을 실행하는 단계가 회피될 수 있으며, 이에 의해 무선 휴대 장치의 부팅 시간이 더 단축된다.
당업자라면 도면은 단지 양호한 실시예에 대한 도해에 지나지 않으며, 도면에서의 모듈, 실체, 또는 흐름은 본 발명을 실행하는 데 반드시 필요한 것은 아니다는 것을 이해할 수 있을 것이다.
당업자라면 설명의 편의 및 간략화를 위해, 전술한 장치 및 기기의 특정한 작업 프로세스에 대해서, 방법 실시예에서의 대응하는 프로세스를 참조하면 되므로, 그 상세한 설명에 대해서는 여기서 다시 설명하지 않는다.
본 실시예에서 제공하는 수 개의 실시예에서, 개시된 장치 및 방법은 다른 방식으로도 실행될 수 있다는 것은 물론이다. 예를 들어, 설명된 장치 실시예는 단지 예시에 불과하다. 예를 들어, 장치의 분할은 단지 논리적 기능과 관련한 분할이며 실제의 실행에서 다른 분할 방식이 이용 가능하다. 예를 들어, 복수의 장치를 다른 장치에 결합하거나 통합할 수 있거나, 일부의 특징을 무시하거나 수행하지 않을 수 있다. 또한, 도시되었거나 논의된 커플링 또는 직접 커플링 또는 통신 접속은 일부의 인터페이스를 통해 실행될 수 있으며, 장치 간 또는 기기 간의 간접 커플링 또는 통신 접속은 전기적, 기계적, 또는 다른 형태일 수 있다.
또한, 본 발명의 각각의 실시예에 따른 장치는 하나의 장치 또는 유닛으로 통합도리 수 있거나, 각각의 유닛은 별개의 물리적 유닛으로 존재할 수 있거나, 또는 2개의 이상의 유닛이 하나의 장치 또는 유닛으로 통합될 수도 있다.
소프트웨어 기능 유닛의 형태로 실현되어 독립 제품으로 시판되거나 사용되면, 기능들은 컴퓨터 판독 가능형 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본 발명의 필수적 기술적 솔루션 또는, 또는 종래기술에 기여하는 부분, 또는 기술적 솔루션의 일부는 소프트웨어 제품의 형태로 실현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고, 본 발명의 각각의 실시예에서의 방법의 단계 중 일부 또는 전부를 수행하도록 컴퓨터 장치(예를 들어, 퍼스널 컴퓨터, 서버, 또는 네트워크 장치)에 명령하는 수개의 명령어를 포함한다. 저장 매체는 프로그램 코드를 저장할 수 있는 임의의 저장 매체, 예를 들어, U-디스크, 탈착가능형 하드디스크, 리드-온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기디스크 또는 CD-ROM을 포함한다.
전술한 설명은 단지 본 발명의 특정한 실행 방식에 불과하며, 본 발명의 보호 범위를 제한하려는 것이 아니다. 본 발명에 설명된 기술적 범위 내에서 당업자가 용이하게 실현하는 모든 변형 또는 대체는 본 발명의 보호 범위 내에 있게 된다. 그러므로 본 발명의 보호 범위는 특허청구범위의 보호 범위에 있게 된다.

Claims (12)

  1. 부팅 방법에 있어서,
    무선 휴대 장치가 부팅될 때, 리드-온리 메모리 내의 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득하는 단계;
    N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 리드-온리 메모리 내의 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고 N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 사전설정된 데이터베이스로부터 판독하고 N번째 안드로이드 설치 패키지 파일의 정보를 랜덤 액세스 메모리 내의 패키지 서비스 목록에 부가하는 단계 - 여기서 N은 0보다 큰 양의 정수임 - ;
    M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, 획득된 M번째 안드로이드 설치 패키지 파일의 정보를 상기 사전설정된 데이터베이스에 저장하며, 획득된 M번째 안드로이드 설치 패키지 파일의 정보를 상기 패키지 서비스 목록에 부가하는 단계 - 여기서, M은 0보다 큰 양의 정수임 - ; 및
    상기 데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중일 때, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 상기 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하고 - 여기서, K는 0보다 큰 양의 정수임 - ; 그렇지 않으면, 상기 라이브러리 파일을 압축풀기하는 조작이 실행되지 않는 단계
    를 포함하는 부팅 방법.
  2. 제1항에 있어서,
    상기 무선 휴대 장치가 부팅된 후, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 하나 이상의 안드로이드 설치 패키지 파일이 갱신되거나 삭제되면, 사전설정된 데이터베이스에 저장되어 있는 대응하는 기록을 동기화하며; 시스템 애플리케이션 디렉터리 또는 데이터 애플리케이션 디렉터리에 새로운 안드로이드 설치 패키지 파일이 설치되면, 상기 설치된 새로운 안드로이드 설치 패키지 파일을 사전설정된 데이터베이스에 저장하는 단계
    를 더 포함하는 부팅 방법.
  3. 무선 휴대 장치에 있어서,
    적어도 하나의 리드-온리 메모리;
    적어도 하나의 랜덤 액세스 메모리; 및
    상기 리드-온리 메모리 및 상기 랜덤 액세스 메모리에 연결되어 있는 적어도 하나의 프로세서
    를 포함하며,
    상기 프로세서는,
    상기 무선 휴대 장치가 부팅될 때, 상기 리드-온리 메모리 내의 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 각각의 안드로이드 설치 패키지 파일의 파일명, 생성 시간 및 파일 크기를 획득하고;
    N번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 리드-온리 메모리 내에 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있고 N번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 일치하면, N번째 안드로이드 설치 패키지 파일의 정보를 사전설정된 데이터베이스로부터 판독하고 N번째 안드로이드 설치 패키지 파일의 정보를 상기 랜덤 액세스 메모리 내의 패키지 서비스 목록에 부가하며, - 여기서, N은 0보다 큰 양의 정수임 - ;
    M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 사전설정된 데이터베이스 내의 대응하는 기록을 가지고 있지 않거나, 또는 M번째 안드로이드 설치 패키지 파일의 획득된 파일명이 상기 사전설정된 데이터베이스 내의 대응하는 기록을 가지되 M번째 안드로이드 설치 패키지 파일의 생성 시간 및 파일 크기가 상기 사전설정된 데이터베이스에 저장되어 있는 생성 시간 및 파일 크기와 불일치하면, M번째 안드로이드 설치 패키지 파일의 정보를 획득하고, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 상기 사전설정된 데이터베이스에 저장하며, M번째 안드로이드 설치 패키지 파일의 획득된 정보를 상기 패키지 서비스 목록에 부가하고 - 여기서, M은 0보다 큰 양의 정수임 - ,
    데이터 애플리케이션 디렉터리 내의 K번째 안드로이드 설치 패키지 파일이 설치를 수행 중이거나 갱신 중일 때, K번째 안드로이드 설치 패키지 파일의 라이브러리 파일을 데이터 애플리케이션 디렉터리 내의 사전설정된 서브디렉터리에 압축풀기를 수행하고 - 여기서, K는 0보다 큰 양의 정수임 - ; 그렇지 않으면, 상기 라이브러리 파일을 압축풀기하는 조작이 실행되지 않도록 구성되어 있는, 무선 휴대 장치.
  4. 제3항에 있어서,
    상기 프로세서는, 상기 무선 휴대 장치가 부팅된 후, 시스템 애플리케이션 디렉터리 및 데이터 애플리케이션 디렉터리 내의 하나 이상의 안드로이드 설치 패키지 파일이 갱신되거나 삭제되면, 사전설정된 데이터베이스에 저장되어 있는 대응하는 기록을 동기화하며; 시스템 애플리케이션 디렉터리 또는 데이터 애플리케이션 디렉터리에 새로운 안드로이드 설치 패키지 파일이 설치되면, 설치된 새로운 안드로이드 설치 패키지 파일을 사전설정된 데이터베이스에 저장하도록 추가로 구성되어 있는, 무선 휴대 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020147020218A 2012-02-16 2012-02-16 무선 휴대 장치 부팅 방법 및 무선 휴대 장치 KR101614070B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/071221 WO2012097755A2 (zh) 2012-02-16 2012-02-16 一种启动无线手持设备的方法及无线手持设备

Publications (2)

Publication Number Publication Date
KR20140103347A KR20140103347A (ko) 2014-08-26
KR101614070B1 true KR101614070B1 (ko) 2016-04-20

Family

ID=46516158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147020218A KR101614070B1 (ko) 2012-02-16 2012-02-16 무선 휴대 장치 부팅 방법 및 무선 휴대 장치

Country Status (6)

Country Link
US (1) US9778935B2 (ko)
EP (1) EP2759929B1 (ko)
JP (1) JP5897155B2 (ko)
KR (1) KR101614070B1 (ko)
CN (1) CN102713845B (ko)
WO (1) WO2012097755A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9335983B2 (en) * 2013-07-28 2016-05-10 Oded Haim Breiner Method and system for displaying a non-installed android application and for requesting an action from a non-installed android application
CN104636165A (zh) * 2015-02-02 2015-05-20 广东小天才科技有限公司 移动设备启动方法及装置
CN105511905A (zh) * 2015-11-25 2016-04-20 北京金山安全软件有限公司 一种信息加载方法及装置
CN105528226A (zh) * 2015-11-30 2016-04-27 海信集团有限公司 一种智能终端的开机方法和装置
US10725791B2 (en) 2017-08-16 2020-07-28 Harman International Industries, Incorporated Operating system boot up optimizations
EP3447640B1 (en) * 2017-08-16 2023-07-12 Harman International Industries Incorporated (STM) Operating system up boot optimizations
CN110413321A (zh) * 2018-04-28 2019-11-05 珠海全志科技股份有限公司 一种Android系统快速启动方法及装置
CN112732365B (zh) * 2021-01-28 2024-07-12 北京字跳网络技术有限公司 预装应用程序启动方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242037A1 (en) 2009-03-17 2010-09-23 Microsoft Corporation Software Deployment over a Network
CN102012832A (zh) * 2010-12-14 2011-04-13 Tcl集团股份有限公司 一种加速Android系统启动的方法及装置
CN102207881A (zh) * 2011-07-07 2011-10-05 电子科技大学 一种基于Android的操作系统快速启动方法
CN102331947A (zh) * 2011-10-14 2012-01-25 中科创达软件科技(北京)有限公司 一种Android系统的重启方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312154A (ja) * 1998-04-28 1999-11-09 Nec Corp 協同作業支援システム及び記録媒体
JP2001273121A (ja) * 2000-03-24 2001-10-05 Hitachi Information Systems Ltd 動作環境確保方法およびそのプログラムを記録した記録媒体
US7293268B2 (en) * 2000-04-17 2007-11-06 Fujitsu Limited Installation method, activation method, execution apparatus and medium of application program
TW200840357A (en) * 2006-12-26 2008-10-01 Sony Corp Information processing apparatus, information processing method, and program
US8010776B2 (en) * 2007-12-17 2011-08-30 Spansion Llc Adaptive system boot accelerator for computing systems
US8799890B2 (en) * 2009-11-30 2014-08-05 Red Hat, Inc. Generating a version identifier for a computing system based on software packages installed on the computing system
CN101853296A (zh) * 2010-05-28 2010-10-06 华为终端有限公司 管理应用程序的方法和装置
US9213543B2 (en) * 2011-12-12 2015-12-15 Infosys Limited Software internationalization estimation model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242037A1 (en) 2009-03-17 2010-09-23 Microsoft Corporation Software Deployment over a Network
CN102012832A (zh) * 2010-12-14 2011-04-13 Tcl集团股份有限公司 一种加速Android系统启动的方法及装置
CN102207881A (zh) * 2011-07-07 2011-10-05 电子科技大学 一种基于Android的操作系统快速启动方法
CN102331947A (zh) * 2011-10-14 2012-01-25 中科创达软件科技(北京)有限公司 一种Android系统的重启方法

Also Published As

Publication number Publication date
EP2759929A4 (en) 2015-03-11
WO2012097755A2 (zh) 2012-07-26
WO2012097755A3 (zh) 2012-11-01
KR20140103347A (ko) 2014-08-26
EP2759929B1 (en) 2017-01-04
JP5897155B2 (ja) 2016-03-30
CN102713845B (zh) 2014-11-05
US20140359262A1 (en) 2014-12-04
JP2015513139A (ja) 2015-04-30
US9778935B2 (en) 2017-10-03
EP2759929A2 (en) 2014-07-30
CN102713845A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
KR101614070B1 (ko) 무선 휴대 장치 부팅 방법 및 무선 휴대 장치
US9449175B2 (en) Method and apparatus for analyzing and detecting malicious software
US20150331882A1 (en) Redundant file deletion method, apparatus and storage medium
US20170139786A1 (en) File level recovery using virtual machine image level backup with selective compression
CN111176717B (zh) 生成安装包的方法、装置及电子设备
US9542461B2 (en) Enhancing performance of extract, transform, and load (ETL) jobs
US8863087B2 (en) Comprehensively testing functionality of a computer program based on program code changes
CN110764941B (zh) 获取调用栈栈帧指令偏移的方法、装置、介质和设备
Immanuel et al. Android cache taxonomy and forensic process
CN105975302A (zh) 一种应用安装方法及终端
CN111417927B (zh) 资源权限处理方法、装置、存储介质及芯片
US9110893B2 (en) Combining problem and solution artifacts
CN111737057A (zh) 一种apfs文件系统数据恢复方法、装置及电子设备
CN111556127A (zh) 一种可穿戴设备升级方法及相关设备
US11989189B2 (en) Data processing system and method
CN112631894B (zh) 代码检测方法、装置、存储介质及计算机设备
KR101369254B1 (ko) 악성 애플리케이션 진단장치 및 방법
JP2013149094A (ja) 抽出システム、抽出方法、及びプログラム
CN112286974A (zh) Apk压缩存储、还原和检索方法及相关设备
CN105631318A (zh) 一种注册表键值的获取方法及装置
KR101155218B1 (ko) 패키지 파일을 이용하여 어플리케이션을 설치하는 시스템,단말기 및 그 방법 그리고 패키지 파일을 생성하는 서버
CN116991449B (zh) 内核子系统热升级方法、设备及存储介质
Reddy et al. Mac OS Forensics
US10761840B2 (en) Software analysis device, software analysis method, and recording medium
Höne et al. iPhone examination with modern forensic software tools

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20190319

Year of fee payment: 4