[發(fā)明專利]應(yīng)用運行方法、終端及計算機可讀存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 201710350054.4 | 申請日: | 2017-05-17 |
| 公開(公告)號: | CN107239275A | 公開(公告)日: | 2017-10-10 |
| 發(fā)明(設(shè)計)人: | 王吉祥 | 申請(專利權(quán))人: | 努比亞技術(shù)有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 深圳市世紀恒程知識產(chǎn)權(quán)代理事務(wù)所44287 | 代理人: | 胡海國 |
| 地址: | 518057 廣東省深圳市南山區(qū)高新區(qū)北環(huán)大道9018*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 應(yīng)用 運行 方法 終端 計算機 可讀 存儲 介質(zhì) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及應(yīng)用程序技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用運行的方法、終端及計算機可讀存儲介質(zhì)。
背景技術(shù)
Android系統(tǒng)是目前智能終端的主流系統(tǒng)之一。在Android系統(tǒng)中,當(dāng)啟動一個應(yīng)用app時,系統(tǒng)會創(chuàng)建一個主線程。這個主線程負責(zé)處理與UI(User Interface,用戶界面)相關(guān)的事件,例如,用戶的按鍵事件,屏幕繪圖事件等;同時,這個主線程還把相關(guān)的事件分發(fā)到對應(yīng)的組件進行處理,因此這個主線程通常又被稱為UI線程。
在這種單線程運行機制下,同一個進程里的UI組件都會在UI線程(即主線程)里實例化,系統(tǒng)對每一個組件的調(diào)用也都從UI線程分發(fā)出去。另外,由于Android UI toolkit的特性,在通過非UI線程調(diào)用Android中的UI組件時,這個非UI線程是不安全的(未上鎖的),可能會出現(xiàn)其它線程同時訪問同一代碼、產(chǎn)生不確定的結(jié)果的情況。這就要求把所有的UI操作都放在UI線程里。這樣的結(jié)果就是,響應(yīng)系統(tǒng)回調(diào)的事件(比如響應(yīng)用戶動作的onKeyDown()和各種生命周期回調(diào))都要在UI線程里運行。
采用這種運行方法,系統(tǒng)在執(zhí)行密集任務(wù)的時候,其性能會很差。例如,在某一時刻所有的工作都在UI線程進行,此時如果要做一些比較耗時的工作(比如訪問網(wǎng)絡(luò)或者數(shù)據(jù)庫查詢),會阻塞UI線程,導(dǎo)致事件停止分發(fā)(包括繪制事件);此時對用戶而言,應(yīng)用看起來就像是卡頓了,甚至于如果UI線程阻塞的時間太長(例如超過5s),用戶就會看到應(yīng)用無響應(yīng)的提示,從而降低了用戶的體驗。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提出一種應(yīng)用運行方法、終端及計算機可讀存儲介質(zhì),旨在解決應(yīng)用運行卡頓、流暢度不高的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供一種應(yīng)用運行方法,所述應(yīng)用運行方法應(yīng)用于智能終端,所述智能終端設(shè)置有用戶界面UI線程和主線程,所述應(yīng)用運行方法包括以下步驟:
在接收到應(yīng)用操作指令時,判斷所述應(yīng)用操作指令是屬于UI交互類指令,還是屬于功能啟動類指令;
若所述應(yīng)用操作指令屬于UI交互類指令,則通過所述UI線程調(diào)用對應(yīng)的UI組件,以執(zhí)行所述應(yīng)用操作指令對應(yīng)的UI交互操作;
若所述應(yīng)用操作指令屬于功能啟動類指令,則通過所述主線程執(zhí)行所述應(yīng)用操作指令對應(yīng)的功能啟動操作。
可選地,所述若所述操作指令屬于UI交互類指令,則通過所述UI線程調(diào)用對應(yīng)的UI組件,以執(zhí)行所述應(yīng)用操作指令對應(yīng)的UI交互操作的步驟包括:
若所述操作指令屬于UI交互類指令,則根據(jù)所述操作指令向所述UI線程的消息隊列插入對應(yīng)的操作消息;
通過所述UI線程讀取所述消息隊列的操作消息,并調(diào)用對應(yīng)的UI組件對所述操作消息進行處理。
可選地,所述操作消息中包括優(yōu)先級標(biāo)識,所述通過所述UI線程讀取所述消息隊列的操作消息,并調(diào)用對應(yīng)的UI組件對所述操作消息進行處理的步驟包括:
通過所述UI線程優(yōu)選讀取所述消息隊列中的高優(yōu)先級操作消息,并調(diào)用對應(yīng)的UI組件對所述高優(yōu)先級操作消息進行處理。
可選地,所述若所述操作指令屬于功能啟動類指令,則通過所述主線程執(zhí)行所述應(yīng)用操作指令對應(yīng)的功能啟動操作的步驟之后,還包括:
若所述功能啟動操作中需要執(zhí)行UI回調(diào)操作,則通過所述UI線程執(zhí)行所述UI回調(diào)操作。
可選地,所述功能啟動操作包括活動Activity啟動操作和服務(wù)Service啟動操作。
此外,為實現(xiàn)以上目的,本發(fā)明還提供一種智能終端,所述智能終端包括處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運行的應(yīng)用運行程序,其中所述應(yīng)用運行程序被所述處理器執(zhí)行時實現(xiàn)以下步驟:
在接收到應(yīng)用操作指令時,判斷所述應(yīng)用操作指令是屬于UI交互類指令,還是屬于功能啟動類指令;
若所述操作指令屬于UI交互類指令,則通過所述UI線程調(diào)用對應(yīng)的UI組件,以執(zhí)行所述應(yīng)用操作指令對應(yīng)的UI交互操作;
若所述操作指令屬于功能啟動類指令,則通過所述主線程執(zhí)行所述應(yīng)用操作指令對應(yīng)的功能啟動操作。
可選地,所述應(yīng)用運行程序被所述處理器執(zhí)行時,還實現(xiàn)以下步驟:
若所述操作指令屬于UI交互類指令,則根據(jù)所述操作指令向所述UI線程的消息隊列插入對應(yīng)的操作消息;
通過所述UI線程讀取所述消息隊列的操作消息,并調(diào)用對應(yīng)的UI組件對所述操作消息進行處理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于努比亞技術(shù)有限公司,未經(jīng)努比亞技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710350054.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在線應(yīng)用平臺上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場
- 使用應(yīng)用的方法和應(yīng)用平臺
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠程應(yīng)用進行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





