[發(fā)明專利]一種應(yīng)用程序的運(yùn)行方法和運(yùn)行裝置有效
| 申請?zhí)枺?/td> | 201610374841.8 | 申請日: | 2016-05-31 |
| 公開(公告)號: | CN107450937B | 公開(公告)日: | 2021-02-19 |
| 發(fā)明(設(shè)計(jì))人: | 賈鑫 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F9/455 |
| 代理公司: | 深圳鼎合誠知識產(chǎn)權(quán)代理有限公司 44281 | 代理人: | 薛祥輝 |
| 地址: | 518000 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 應(yīng)用程序 運(yùn)行 方法 裝置 | ||
本發(fā)明公開了一種應(yīng)用程序的運(yùn)行方法和運(yùn)行裝置。該運(yùn)行方法包括:讀取待運(yùn)行的應(yīng)用程序的歷史使用數(shù)據(jù);將所述歷史使用數(shù)據(jù)與預(yù)設(shè)的環(huán)境選擇模型進(jìn)行匹配,以確認(rèn)并啟動(dòng)所述應(yīng)用程序?qū)?yīng)的虛擬運(yùn)行環(huán)境;加載所述應(yīng)用程序與所述虛擬運(yùn)行環(huán)境對應(yīng)的運(yùn)行代碼到內(nèi)存執(zhí)行。通過讀取待運(yùn)行的應(yīng)用程序的歷史使用數(shù)據(jù),根據(jù)歷史使用數(shù)據(jù)選擇與該應(yīng)用程序的使用需求相適應(yīng)的虛擬運(yùn)行環(huán)境,在選定的虛擬運(yùn)行環(huán)境下加載對應(yīng)的運(yùn)行代碼到內(nèi)存執(zhí)行,實(shí)現(xiàn)了應(yīng)用程序運(yùn)行過程中對速度提升或?qū)?nèi)存節(jié)約的優(yōu)化平衡,應(yīng)用程序的運(yùn)行選擇更加合理。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件領(lǐng)域,尤其涉及一種應(yīng)用程序的運(yùn)行方法和運(yùn)行裝置。
背景技術(shù)
隨著電子技術(shù)的不斷發(fā)展,移動(dòng)終端的使用也越來越廣發(fā)。當(dāng)前移動(dòng)終端的操作系統(tǒng)主要有Android和iOS,其中,Android是基于Java語言的,iOS是基于Obejctive-C。表現(xiàn)在手機(jī)和應(yīng)用程序運(yùn)行機(jī)制上,Java的代碼實(shí)際上需要兩次“轉(zhuǎn)換”才能最終以用戶可看的程序跑起來,一次發(fā)生在開發(fā)者發(fā)布安裝包前,使用開發(fā)者自己機(jī)器的CPU,另一次在用戶啟動(dòng)APP前,使用手機(jī)的CPU。而基于Objective-C的代碼只需要一次這種“轉(zhuǎn)換”,在開發(fā)者發(fā)布安裝包前,所以只占用開發(fā)者機(jī)器的CPU時(shí)間。Java應(yīng)用程序啟動(dòng)速度的瓶頸在于Java應(yīng)用程序是解釋執(zhí)行的,需要在本次運(yùn)行過程中再次編譯。這就導(dǎo)致了Java應(yīng)用程序啟動(dòng)流程需要加速。因此,如何提高應(yīng)用程序的啟動(dòng)速度成為現(xiàn)有技術(shù)中亟待解決的問題之一。
應(yīng)用程序的運(yùn)行基于虛擬運(yùn)行環(huán)境實(shí)現(xiàn),在不同的虛擬運(yùn)行環(huán)境中程序運(yùn)行有不同的優(yōu)缺點(diǎn)。以Dalvik和ART(Android Runtime)為例,在以前的Android系統(tǒng)上,所有的應(yīng)用程序都是運(yùn)行在Dalvik中。在Dalvik中,應(yīng)用程序每次運(yùn)行時(shí)其中一部分代碼都要需要機(jī)器重新編譯。這個(gè)過程消耗時(shí)間和系統(tǒng)資源,所以執(zhí)行效率低。相比Dalvik,ART的處理機(jī)制完全不同,它會(huì)在應(yīng)用程序安裝時(shí)就把程序代碼轉(zhuǎn)換成機(jī)器語言,讓程序成為真正的本地應(yīng)用。這樣做的好處是程序的啟動(dòng)時(shí)間被提高,運(yùn)行速度也會(huì)更快。ART處理應(yīng)用程序執(zhí)行的方式完全不同于Dalvik,Dalvik是依靠一個(gè)Just-In-Time(JIT)編譯器去解釋字節(jié)碼,開發(fā)者編譯后的應(yīng)用代碼需要通過一個(gè)解釋器在用戶的設(shè)備上運(yùn)行,這一機(jī)制并不高效。ART則完全改變了這套做法,在應(yīng)用程序安裝時(shí)就預(yù)編譯字節(jié)碼到機(jī)器語言,這一機(jī)制叫Ahead-Of-Time(AOT)編譯。在移除解釋代碼這一過程后,應(yīng)用程序執(zhí)行將更有效率,啟動(dòng)更快。
但是ART會(huì)帶來其他的負(fù)面影響。
第一個(gè)缺點(diǎn)是增加應(yīng)用程序安裝所需的時(shí)間,尤其是代碼量越大,預(yù)編譯字節(jié)碼到機(jī)器語言所花的時(shí)間就越長,這個(gè)時(shí)長的增加比較大,尤其是以游戲?yàn)橹鞯膽?yīng)用程序,因?yàn)樗麄儽旧泶a量大。
第二個(gè)缺點(diǎn)是會(huì)使安裝后的文件占用更多的空間,有接近20%的增長。比如一個(gè)100M的游戲,代碼有50M,增加20%的安裝所需空間多了10M。用戶體驗(yàn)不好。由于ART需要應(yīng)用程序在安裝時(shí)就把程序代碼轉(zhuǎn)換成機(jī)器語言,所以這會(huì)消耗掉更多的存儲空間。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種應(yīng)用程序的運(yùn)行方法和運(yùn)行裝置,以解決應(yīng)用程序在運(yùn)行過程中速度提升和內(nèi)存節(jié)約的沖突過大的問題。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案如下:
一方面采用一種應(yīng)用程序的運(yùn)行方法,包括:
讀取待運(yùn)行的應(yīng)用程序的歷史使用數(shù)據(jù);
將所述歷史使用數(shù)據(jù)與預(yù)設(shè)的環(huán)境選擇模型進(jìn)行匹配,以確認(rèn)并啟動(dòng)所述應(yīng)用程序?qū)?yīng)的虛擬運(yùn)行環(huán)境;
加載所述應(yīng)用程序與所述虛擬運(yùn)行環(huán)境對應(yīng)的運(yùn)行代碼到內(nèi)存執(zhí)行。
其中,所述環(huán)境選擇模型基于所述應(yīng)用程序的使用頻率閾值、當(dāng)前可用內(nèi)存中的至少一個(gè)設(shè)置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610374841.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 對虛擬化應(yīng)用程序的基于策略的訪問
- 應(yīng)用程序執(zhí)行、應(yīng)用程序提供裝置和應(yīng)用程序分發(fā)方法
- 一種軟件保護(hù)方法、裝置及系統(tǒng)
- 應(yīng)用程序的開發(fā)方法和系統(tǒng)
- 應(yīng)用程序的擴(kuò)展方法及裝置
- 一種應(yīng)用程序商店的應(yīng)用程序發(fā)布方法及裝置
- 一種應(yīng)用程序的監(jiān)控方法、裝置及系統(tǒng)
- 用于對虛擬化應(yīng)用程序的基于策略的訪問的方法和系統(tǒng)
- 應(yīng)用程序控制方法、裝置、終端及存儲介質(zhì)
- 一種應(yīng)用程序安裝、卸載方法及通信終端
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行支援裝置、運(yùn)行支援系統(tǒng)以及運(yùn)行支援程序
- 列車運(yùn)行處理方法、運(yùn)行處理裝置和運(yùn)行調(diào)度系統(tǒng)
- 運(yùn)行監(jiān)測系統(tǒng)及運(yùn)行監(jiān)測方法
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行曲線制作裝置、運(yùn)行輔助裝置以及運(yùn)行控制裝置
- 運(yùn)行支持裝置、車輛、運(yùn)行管理裝置和運(yùn)行支持方法
- 運(yùn)行計(jì)劃方法、運(yùn)行控制裝置和運(yùn)行計(jì)劃系統(tǒng)
- 運(yùn)行控制裝置、運(yùn)行管理系統(tǒng)、運(yùn)行控制方法以及車輛
- 自動(dòng)建模運(yùn)行系統(tǒng)及運(yùn)行方法





