TWI635442B - 應用啟動方法及電子裝置 - Google Patents

應用啟動方法及電子裝置 Download PDF

Info

Publication number
TWI635442B
TWI635442B TW106136116A TW106136116A TWI635442B TW I635442 B TWI635442 B TW I635442B TW 106136116 A TW106136116 A TW 106136116A TW 106136116 A TW106136116 A TW 106136116A TW I635442 B TWI635442 B TW I635442B
Authority
TW
Taiwan
Prior art keywords
memory
application
space
memory space
background service
Prior art date
Application number
TW106136116A
Other languages
English (en)
Other versions
TW201816606A (zh
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 TW201816606A publication Critical patent/TW201816606A/zh
Application granted granted Critical
Publication of TWI635442B publication Critical patent/TWI635442B/zh

Links

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本發明提供了一種應用啟動方法及電子裝置,所述方法包括以下步驟:接收一指示訊號,所述指示訊號用於指示啟動一第一應用;通知一後臺服務回應於接收到的所述指示訊號,準備一第一記憶體的記憶空間以啟動所述第一應用;以及在通知所述後臺服務準備所述第一記憶體的記憶空間後,啟動所述第一應用。此外,本發明還提供供上述應用啟動方法實現的電子裝置。本發明提供的應用啟動方法及電子裝置在應用啟動之前回收揮發性記憶體記憶體上記憶空間,使揮發性記憶體上的可用空間足以完成應用的啟動,縮短了應用啟動所需的時間,提升了用戶體驗。

Description

應用啟動方法及電子裝置 【交叉引用】
本申請要求於2016年10月21日申請的標題為“Early-Time Memory Reclaim”的號碼為62/410,870的美國臨時案的優先權,其整體被納入以作參考。
本發明涉及一種應用啟動方法及電子裝置,更具體的涉及一種帶有早期記憶體回收(early-time memory reclaim)的電子裝置上的應用啟動方法。
通常來說,電子裝置,如智慧手機、平板電腦與筆記型電腦等及其他電子裝置,可以執行各種應用。當一請求被發送以指示要執行某一個應用,應用將被啟動以回應於該請求。當此應用被啟動,至少一個流程通過存取一揮發性記憶體(volatile memory)來執行,例如隨機存取記憶體(RAM,random access memory)。如果揮發性記憶體的可用空間不足以完成啟動該應用,該應用的啟動將不得不被中斷直到回收到足夠多的記憶。從而,等待記憶體回收所需要的時間段增加了應用的啟動時間,降低了用戶體驗。
有鑒於此,本發明提供一種新型應用啟動方法及電子裝置。
本發明的一個示例性實施例提供了一種應用啟動方法,所述方法應用於一啟動程式由一第一處理器載入與執行的一電子裝置。方法包括以下步驟:接收一指示訊號,所述指示訊號用於指示啟動一第一應用;通知一後臺服務回應於接收到的所述指示訊號,準備一第一記憶體的記憶空間以啟動所述第一應用;以及,在通知所述後臺服務準備所述第一記憶體的記憶空間後,啟動所述第一應用。
本發明的一個示例性實施例提供了一種電子裝置,電子裝置包括:一第一記憶體;一第一記憶體控制器,耦接到所述第一記憶體;一第一處理器,執行啟動程式以接收要啟動第一應用的一指示訊號;通知一後臺服務回應於接收到的所述指示訊號,準備所述第一記憶體的記憶空間以啟動所述第一應用;以及在通知所述後臺服務準備所述第一記憶體的記憶空間後,啟動所述第一應用。
另一個示例性實施例中提供了一種應用啟動方法,所述方法應用於由一第一處理器載入與執行一啟動程式的一電子裝置,方法包括以下步驟:通知一後臺服務準備一記憶體的記憶空間用以啟動所述應用;通過存取所述記憶體的記憶空間來啟動所述應用;獲得所述記憶體啟動所述應用所佔用的記憶空間;以及,根據獲得所述記憶體啟動所述應用的所述所佔用的記憶空間,更新啟所述應用的歷史使用空間。
本發明在接收到要啟動應用的指示訊號以後,在啟動應 用之前,後臺服務開始準備啟動應用所需要的記憶空間,當開始啟動應用的時候,後臺服務已完成記憶空間的準備工作,使得記憶體上的可用記憶空間足以完成應用的啟動,避免因等待記憶體回收增加應用的啟動時間,提升了用戶體驗。
詳細描述請參考如下實施例及相關圖示。
10‧‧‧處理器
11-12‧‧‧記憶體控制器
13‧‧‧揮發性記憶體
14‧‧‧非揮發性記憶體
15‧‧‧顯示幕
16‧‧‧輸入裝置
17‧‧‧週邊介面
S20-S26‧‧‧步驟
S30-S31‧‧‧步驟
S40-S41‧‧‧步驟
S42A-S42B‧‧‧步驟
S43A-S43B‧‧‧步驟
第1圖示出了電子裝置的一個示例性實施例;第2A圖示出了在處理器上運行的應用啟動方法的一個示例性實施例的流程圖;第2B圖示出了在處理器上運行的應用啟動方法的另一個示例性實施例的流程圖;第3A圖示出了後臺服務準備揮發性記憶體上記憶空間以啟動應用的一個示例性實施例的流程圖;第3B圖示出了後臺服務準備揮發性記憶體上記憶空間以啟動應用的另一個示例性實施例的流程圖;第4A圖示出了應用啟動方法的另一個示例性實施例的流程圖;第4B圖示出了應用啟動方法的另一個示例性實施例的流程圖;第5圖示出了電子裝置的另一個示例性實施例。
以下描述系本發明實施的較佳實施例。以下實施例僅用來例舉闡釋本發明之技術特徵,並非用來限制本發明的範疇。本發明保護範圍由所附申請專利範圍最佳界定。
本說明書及申請專利範圍使用了某些詞語代指特定的元件。本領域的技術人員可理解的是,製造商可能使用不同的名稱代指同一元件。本檔不通過名字的差別,而通過功能的差別來區分元件。在以下的說明書與申請專利範圍中,詞語“包括”是開放式的,因此其應理解為“包括,但不限於...”。
第1圖示出了電子裝置的一個示例性實施例,如第1圖所示,電子裝置1包括處理器10,記憶體控制器11與12,揮發性記憶體13,非揮發性記憶體(non-volatile memory)14,顯示幕15、輸入裝置16以及週邊介面(peripheral interface)17。電子裝置1可以是各種各樣的裝置,如智慧手機、平板電腦、數位媒體播放機(digital media player)、圖書閱讀器及其他任意組合。記憶體控制器11與12由處理器10控制,揮發性記憶體13可以是一個隨機存取記憶體(RAM),非揮發性記憶體14可以是一個唯讀記憶體(ROM)、硬碟驅動器(hard disc drive)、或快閃記憶體(flash memory)。記憶體控制器運行以回應於由處理器10發出的指令,用來管理揮發性記憶體13。記憶體控制器12運行以回應於由處理器10發出的指令,用來管理非揮發性記憶體14。處理器10運行以執行操作系統及各種應用。操作系統與應用的數據及程式碼被存儲在非揮發性記憶體14之中,當包括一組程式碼的程式被載入到揮發性記憶體13中並由處理器10執行時,處理器10運行操作系統與/或相關應用以提供電子裝置1的各種功能。
在一個實施例中,操作系統是由穀歌提供的安卓系統, 在另一個實施例中,操作系統是由蘋果公司提供的OS系統。週邊設備,如顯示幕15與輸入裝置16通過週邊介面17耦接到處理器10,以在處理器10運行操作系統與/或至少一個應用的時候,提升電子裝置1的各種功能。輸入裝置16包括物理鍵盤、滑鼠、安置於顯示幕15上的觸控面板或者其他任意組合。
第2A圖示出了在處理器上運行的應用啟動方法的一個示例性實施例的流程圖。如第1圖與第2A圖所示,啟動程式20從非揮發性記憶體14載入到揮發性記憶體13當中,且被處理器在後臺執行。通過處理器10執行啟動程式20與後臺服務21以實現第2A圖所示實施例的啟動方法,在本技術領域內,後臺服務又可被稱為“守護進程”(daemon)。在本實施例中,後臺服務21是作為後臺進程運行的一電腦程式,而不是一互動式用戶(interactive user)直接控制下運行的電腦程式。當啟動程式20接收將要啟動一應用的一指示訊號(步驟S20),啟動程式20通知後臺服務21準備揮發性記憶體13上的記憶空間以用來啟動該應用(步驟S21)。在本實施例中,步驟20中接收的訊號是回應於使用者通過輸入裝置16點擊顯示幕15上顯示的應用的圖標而產生的。此時,啟動程式20正等待後臺服務21的通知。
在啟動程式20接收到後臺服務21的通知後,後臺服務21準備揮發性記憶體13上的記憶空間以用來啟動該應用(步驟25)。當準備的揮發性記憶體13的記憶空間足夠完成應用啟動的整個進程,揮發性記憶體13上用於啟動應用的記憶空間準備工作已經完成,後臺服務21通過傳送一通知至啟動程式20,通知記憶空間已準備 就緒(步驟S26)。在啟動程式20從後臺服務21接收到該通知以後(步驟S22),啟動程式20通過存取揮發性記憶體13上準備的記憶空間來啟動應用(步驟S23)。當應用啟動完成時(步驟S24),處理器10執行相關程式碼來運行應用。在下文的段落中,將描述後臺服務21如何準備啟動應用所需的記憶空間。
第3A圖是後臺服務21準備揮發性記憶體13上的記憶空間來啟動應用的步驟25的一流程圖。如第3A圖所示,當後臺服務21進入步驟25時,後臺服務21確定揮發性記憶體13上的可用記憶空間是否足以完成啟動應用(步驟S30),當後臺服務21確定揮發性記憶體13上的可用記憶空間不足以完成應用的啟動的時候(步驟S30-否),後臺服務21釋放揮發性記憶體13上被佔用的記憶空間以獲得揮發性記憶體13上的記憶空間,從而實現回收揮發性記憶體13上的記憶空間並準備應用啟動所需要的揮發性記憶體13上的記憶空間(步驟S31)。
在一個實施例中,揮發性記憶體13上被佔用的記憶空間用於存儲正在處理器10上運行的一或複數個其他應用存取的數據。當揮發性記憶體13上被佔用的記憶空間被釋放,揮發性記憶體13上的可用記憶空間變得更大,因此,揮發性記憶體13上的可用空間足以完成應用的啟動,整個可用記憶空間或者一部分可用記憶空間可用作應用啟動的記憶空間。然後,流程進行至步驟S26,後臺服務21通知啟動程式20記憶空間已準備完成,換句話說,後臺服務21通知啟動程式記憶空間足以完成應用的啟動。當後臺服務21確定揮發性記憶體13 上的可用空間足以完成應用的啟動(步驟S30-是),整個可用記憶空間或者一部分可用記憶空間可用作應用啟動的記憶空間,然後,流程進行至步驟S26,後臺服務21通知啟動程式20記憶空間已準備完成。
在一個實施例中,對於步驟S31,釋放揮發性記憶體13上被佔用的記憶空間,是通過將正在處理器10上運行的一或複數個其他應用存儲在揮發性記憶體13上的數據移動到非揮發性記憶體14中,以實現揮發性記憶體13的記憶體回收。在另一個實施例中,對於步驟S31,釋放揮發性記憶體13上被佔用的記憶空間,是通過將正在處理器10上運行的一或複數個其他應用存儲在揮發性記憶體13上的數據丟棄來實現的。
在步驟S25中,後臺服務21可以根據預先存儲在非揮發性記憶體14中的歷史數據來準備揮發性記憶體13上的記憶空間,揮發性記憶體13上的記憶空間用於啟動應用。在一個實施例中,歷史數據包括應用啟動的歷史使用空間。因此,在步驟S30中,後臺服務21可以比較揮發性記憶體13上的可用記憶空間與歷史數據的歷史使用空間來確定揮發性記憶體13上的可用記憶空間是否足以完成啟動應用。在第2A圖中的步驟S20-S26之外,啟動程式20還包括獲取上述歷史數據的步驟。
在上述第2A圖、第3A圖所示的實施例中,在啟動程式20從後臺服務21接收到通知以後,啟動程式20啟動應用。在另一個實施例中,在啟動程式20通知後臺服務21準備揮發性記憶體13上的記憶空間以啟動應用(步驟S21)後,啟動程式20啟動應用(步驟 S23)而不需要等到後臺服務21發出通知。如第2B圖所示,步驟S22-S26不再被執行。因此,當後臺服務21正在釋放揮發性記憶體13上被佔用的記憶空間以用來啟動應用時,啟動程式20啟動應用。在這種情況下,如第3B圖所示,在後臺服務21釋放揮發性記憶體13上被佔用的記憶空間(步驟S31)用以準備揮發性記憶體13上的記憶空間來啟動應用,後臺服務21不需要進入步驟S26。
如第4A圖所述,根據一實施例,在步驟S22中,在啟動程式20從後臺服務21接收到用於啟動應用的記憶空間已準備完成的通知以後,啟動程式20檢測當前揮發性記憶體13上的可用記憶空間獲取第一檢測空間(步驟S40)。在步驟S40中檢測到的揮發性記憶體13上的當前可用記憶空間是揮發性記憶體13上最初足夠用於啟動應用的可用記憶空間(即,步驟S31沒有被執行(步驟S30-是)),或者是從步驟S31(步驟S30-否)中釋放揮發性記憶體13上被佔用的記憶空間獲得的可用記憶空間。在步驟S23執行的啟動應用期間,揮發性記憶體13的可用記憶空間改變或減小,因此,在步驟S24中的應用的啟動完成以後,啟動程式20檢測當前揮發性記憶體13的可用記憶空間以獲得第二檢測空間(步驟S41)。在獲得第一檢測空間與第二檢測空間以後,啟動程式20計算第一檢測空間與第二檢測空間之間的空間差異(步驟S42A),因此,可以通過計算出來的空間差異獲得啟動應用在揮發性記憶體13上所佔用的記憶空間。然後,根據計算出來的空間差異,啟動程式20更新存儲在非揮發性記憶體14上的歷史數據中的歷史使用空間(步驟S43)。
在另一個實施例中,程式40被執行以計算在預定期間內應用啟動了多少次。如果在預定期間內應用啟動超過了一次,程式40計算在預定期間內的平均空間差異,並根據計算出來的空間差異更新存儲在非揮發性記憶體14上歷史數據中的歷史使用空間。
如上所描述的,對於步驟S31,可能通過結束(或殺死)正在處理器10上運行的一或複數個其他應用來釋放揮發性記憶體13上被佔用的記憶空間。在一個實施例中,被結束的應用是正在處理器10上運行的一個(或複數個)具有較低優先順序值的應用。在另一個實施例中,被結束的應用是一個(或複數個)曾在複數個正在處理器10上運行的應用中被較多次結束的應用。
如第4B圖所示的另一個實施例中,當後臺服務21正在釋放揮發性記憶體13上被佔用的記憶空間的時候以啟動應用的時候,啟動程式20啟動應用。因此,後臺服務21沒有通知啟動程式20記憶空間已經準備就緒,啟動程式20也沒有從後臺服務21收到任何指示記憶空間已經完成的通知。在這種情況下,如第4B圖所示,當步驟S24中的應用啟動已經完成,啟動程式20在由處理器10執行的操作系統中查詢啟動應用在揮發性記憶體13上所佔用的記憶空間。然後,啟動程式20根據獲得的啟動應用在揮發性記憶體13上所佔用的記憶空間,更新存儲在非揮發性記憶體14上的歷史數據中的歷史使用空間(步驟S43B)。
在上述實施例當中,後臺服務由處理器10執行。在另一個實施例當中,電子裝置1是一個雙核裝置,如第5圖所示,除了處 理器10以外,電子裝置1還包括一個處理器50,記憶體控制器11與12也受處理器50的控制。顯示幕15與輸入裝置16通過週邊介面17耦接到處理器50上,以當處理器50運行操作系統與/或至少一個應用的時候提升電子設備1的各種功能。在第5圖所示的實施例中,後臺服務21由處理器50執行,此外,程式40可能由處理器50執行。
根據上述實施例,在執行由處理器10運行應用之前,後臺服務21通過回收揮發性記憶體13上的記憶,來準備揮發性記憶體13上足以完成應用啟動的記憶空間。因此,應用的啟動將不會因為請求揮發性記憶體13上更多的記憶空間而被中斷,也就導致應用的啟動時間變短,提升了用戶體驗。
雖然本發明通過示例性的實施方式與優選的實施例來描述,應當理解的是,本發明不限於所公開的實施例,相反的是,本領域技術人員可以理解,本發明旨在涵蓋各種修改及類似的佈置,因此,申請專利範圍的範圍應當符合最廣泛的解釋,以涵蓋所有的這些修改與類似的佈置。

Claims (20)

  1. 一種應用啟動方法,所述方法應用於一啟動程式由一第一處理器載入與執行的一電子裝置,包括:接收一指示訊號,所述指示訊號用於指示啟動一第一應用;通知一後臺服務回應於接收到的所述指示訊號,準備一第一記憶體的記憶空間以足夠啟動所述第一應用;以及在通知所述後臺服務準備所述第一記憶體的記憶空間後,啟動所述第一應用。
  2. 如申請專利範圍第1項所述的應用啟動方法,還包括:所述後臺服務為啟動所述第一應用準備所述第一記憶體的記憶空間。
  3. 如申請專利範圍第2項所述的應用啟動方法,其中所述後臺服務為啟動所述第一應用準備所述第一記憶體的記憶空間的步驟包括:確定所述第一記憶體上的可用記憶空間是否足以完成啟動所述第一應用;以及當所述可用記憶空間不足以完成所述第一應用的啟動的時候,釋放所述第一記憶體上被佔用的記憶空間以獲得所述第一記憶體上的記憶空間。
  4. 如申請專利範圍第3項所述的應用啟動方法,其中所述釋放所述第一記憶體上的所述被佔用的記憶空間以獲得所述第一記憶體上的記憶空間的步驟包括:將一第二應用存儲在所述第一記憶體中的數據移動至一第二記憶 體。
  5. 如申請專利範圍第3項所述的應用啟動方法,其中所述釋放所述第一記憶體上的所述被佔用的記憶空間以獲得所述第一記憶體上的記憶空間的步驟包括:丟棄一第二應用存儲在所述第一記憶體中的數據。
  6. 如申請專利範圍第3項所述的應用啟動方法,其中所述釋放所述第一記憶體上的所述被佔用的記憶空間以獲得所述第一記憶體上的記憶空間的步驟包括:結束正在所述第一記憶體上運行的一第二應用。
  7. 如申請專利範圍第6項所述的應用啟動方法,其中相比於在所述第一處理器上運行的其他應用,所述第二應用具有一較低的優先順序值。
  8. 如申請專利範圍第1項所述的應用啟動方法,還包括:計算所述第一記憶體上用於啟動所述第一應用的使用空間;根據計算出來的所述使用空間更新用於啟動所述第一應用的歷史數據;根據所述歷史數據準備所述第一記憶體的記憶空間。
  9. 如申請專利範圍第1項所述的應用啟動方法,其中所述後臺服務由不同於所述第一處理器的一第二處理器執行。
  10. 一種電子裝置,包括:一第一記憶體;一第一記憶體控制器,耦接到所述第一記憶體; 一第一處理器,執行啟動程式以接收要啟動第一應用的一指示訊號;通知一後臺服務回應於接收到的所述指示訊號,準備所述第一記憶體的記憶空間以足夠啟動所述第一應用;以及在通知所述後臺服務準備所述第一記憶體的記憶空間後,啟動所述第一應用。
  11. 如申請專利範圍第10項所述的電子裝置,其中所述後臺服務被執行以確定所述第一記憶體上的可用記憶空間是否足以完成啟動所述第一應用,以及當所述可用記憶空間不足以完成啟動所述第一應用的時候,控制所述第一記憶體控制器釋放所述第一記憶體上被佔用的記憶空間來獲得所述第一記憶體的記憶空間。
  12. 如申請專利範圍第11項所述的電子裝置,還包括:一第二記憶體;以及一第二記憶體控制器,耦接到所述第二記憶體;所述後臺服務被執行以控制所述第一記憶體控制器讀取存儲於所述第一記憶體中的一第二應用的數據,以及控制所述第二記憶體控制器將從所述第一記憶體中讀取的所述數據寫入至所述第二記憶體中以獲得所述第一記憶體的記憶空間。
  13. 如申請專利範圍第11項所述的電子裝置,其中所述後臺服務被執行以結束正在所述第一處理器上運行的一第二應用。
  14. 如申請專利範圍第13項所述的電子裝置,其中所述第二應用具有一較低的優先順序值。
  15. 如申請專利範圍第10項所述的電子裝置,其中所述第一處理器計算用於啟動所述第一應用的所述第一記憶體上的使用空間及根據計算 出來的所述使用空間更新用於啟動所述第一應用的歷史數據,所述後臺服務被執行以根據所述歷史數據準備所述第一記憶體的記憶空間。
  16. 如申請專利範圍第10項所述的電子裝置,還包括:一第二處理器,用於執行所述後臺服務。
  17. 一種應用啟動方法,所述方法應用於由一第一處理器載入與執行一啟動程式的一電子裝置,所述方法包括:通知一後臺服務準備一記憶體的記憶空間用以足夠啟動所述應用;通過存取所述記憶體的記憶空間來啟動所述應用;獲得所述記憶體啟動所述應用所佔用的記憶空間;以及根據獲得所述記憶體啟動所述應用的所述所佔用的記憶空間,更新啟所述應用的歷史使用空間。
  18. 如申請專利範圍第17項所述的應用啟動方法,還包括:從所述第一處理器執行的一操作系統中查詢啟動所述應用的所述所佔用的記憶空間。
  19. 如申請專利範圍第18項所述的應用啟動方法,還包括:在啟動所述應用之前,通過所述後臺服務確定所述記憶體上的一可用記憶空間是否少於所述歷史使用空間;以及當所述儲器上的所述可用記憶空間少於所述歷史使用空間的時候,所述後臺服務釋放所述記憶體上被佔用的記憶空間來準備所述記憶體的記憶空間。
  20. 如申請專利範圍第18項所述的應用啟動方法,其中所述後臺服務由 不同於所述第一處理器的一第二處理器執行。
TW106136116A 2016-10-21 2017-10-20 應用啟動方法及電子裝置 TWI635442B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662410870P 2016-10-21 2016-10-21
US62/410,870 2016-10-21
US15/698,761 2017-09-08
US15/698,761 US20180113735A1 (en) 2016-10-21 2017-09-08 Launch method for applications with early-time memory reclaim and electronic device

Publications (2)

Publication Number Publication Date
TW201816606A TW201816606A (zh) 2018-05-01
TWI635442B true TWI635442B (zh) 2018-09-11

Family

ID=61969676

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106136116A TWI635442B (zh) 2016-10-21 2017-10-20 應用啟動方法及電子裝置

Country Status (3)

Country Link
US (1) US20180113735A1 (zh)
CN (1) CN107977242A (zh)
TW (1) TWI635442B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992834B2 (en) 2018-05-17 2021-04-27 Canon Kabushiki Kaisha Image processing apparatus, method for controlling the same, and computer-readable storage medium
JP7186541B2 (ja) * 2018-05-17 2022-12-09 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
CN109885260B (zh) * 2019-02-27 2023-02-24 广州三星通信技术研究有限公司 用于电子终端的存储数据的方法及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200725255A (en) * 2005-12-27 2007-07-01 Inventec Corp Service system and method
TW201118716A (en) * 2009-11-26 2011-06-01 Inventec Corp GUI division display system for operating system of hand-held apparatus and method thereof
TW201439910A (zh) * 2012-12-27 2014-10-16 Hon Hai Prec Ind Co Ltd 應用程式管理系統及方法
TW201546818A (zh) * 2014-06-09 2015-12-16 Via Tech Inc 電子裝置及音訊播放方法
CN105975316A (zh) * 2016-05-18 2016-09-28 广东欧珀移动通信有限公司 一种进程管理方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959515B2 (en) * 2006-01-18 2015-02-17 International Business Machines Corporation Task scheduling policy for limited memory systems
FR2926146B1 (fr) * 2008-01-04 2009-12-25 Bull Sas Dispositif informatique a memoire reservee pour des applications prioritaires.
JP5253055B2 (ja) * 2008-09-08 2013-07-31 キヤノン株式会社 画像処理装置、及びアプリケーション起動管理方法
GB2458005B (en) * 2009-02-12 2010-01-20 Gzero Ltd Removing non-essential programs identified by a server from memory
US20140215177A1 (en) * 2012-08-02 2014-07-31 Boo Jin Kim Methods and Systems for Managing Heterogeneous Memories
US9536091B2 (en) * 2013-06-24 2017-01-03 Fireeye, Inc. System and method for detecting time-bomb malware

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200725255A (en) * 2005-12-27 2007-07-01 Inventec Corp Service system and method
TW201118716A (en) * 2009-11-26 2011-06-01 Inventec Corp GUI division display system for operating system of hand-held apparatus and method thereof
TW201439910A (zh) * 2012-12-27 2014-10-16 Hon Hai Prec Ind Co Ltd 應用程式管理系統及方法
TW201546818A (zh) * 2014-06-09 2015-12-16 Via Tech Inc 電子裝置及音訊播放方法
CN105975316A (zh) * 2016-05-18 2016-09-28 广东欧珀移动通信有限公司 一种进程管理方法、装置及设备

Also Published As

Publication number Publication date
CN107977242A (zh) 2018-05-01
US20180113735A1 (en) 2018-04-26
TW201816606A (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
TWI635442B (zh) 應用啟動方法及電子裝置
US9612824B2 (en) Firmware variable update method
CN104317622B (zh) 一种嵌入式设备程序烧录处理方法和***
US7322029B2 (en) Method and system for recovering program code in a computer system
TWI576764B (zh) 電腦系統
WO2015062389A1 (zh) 一种终端设备卸载***应用的方法和装置
WO2015103917A1 (zh) 无线路由设备管理方法和装置
US20210325948A1 (en) Device and method for restoring application removed by factory data reset function
US20110010532A1 (en) Booting method and computer system using the booting method
TW201818253A (zh) 檢測系統及檢測方法
JP2009193301A (ja) 情報処理装置、情報処理装置におけるデバイス初期化方法、およびデバイス初期化プログラム
TW201117008A (en) Electronic equipment and boot method, storage medium thereof
JP6092905B2 (ja) 複数のオペレーティングシステムを動作させる方法および電子装置
US20140258699A1 (en) Boot fault tolerant device and method thereof
US20160048389A1 (en) System and method for supporting part replacement
TW201502782A (zh) 非依電性記憶體中之作業系統啟動加載器之快取技術
TWI520066B (zh) 基本輸入輸出系統更新方法及電腦可讀取儲存媒體
WO2018014687A1 (zh) 一种参数传递方法、装置及计算机存储介质
US20150161404A1 (en) Device initiated auto freeze lock
US9218253B2 (en) Embedded restoration memory
US20140122858A1 (en) Method for accelerating boot-up and computer system device
US20100049962A1 (en) Method for loading and updating central processing unit microcode into basic input/output system
TW591524B (en) Updating method of keyboard controller in notebook computer
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
EP3159795B1 (en) Image forming apparatus that ensures operation while hdd is inoperative, and recording medium therefor

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees