成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

應(yīng)用異常處理方法、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)與流程

文檔序號(hào):41837617發(fā)布日期:2025-05-09 12:12閱讀:5來(lái)源:國(guó)知局
應(yīng)用異常處理方法、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)與流程

本發(fā)明涉及終端,具體涉及一種應(yīng)用異常處理方法、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)。


背景技術(shù):

1、終端電子設(shè)備(以下稱終端或電子設(shè)備)上安裝的應(yīng)用(application,app)在運(yùn)行中不可避免會(huì)產(chǎn)生一些非預(yù)期的行為,如運(yùn)行時(shí)由于內(nèi)存不足或應(yīng)用的程序代碼故障等導(dǎo)致應(yīng)用卡死或程序崩潰等。終端的操作系統(tǒng)(operating?system,os)對(duì)這些非預(yù)期行為的默認(rèn)處理方式為直接結(jié)束應(yīng)用進(jìn)程,此時(shí)應(yīng)用會(huì)出現(xiàn)非預(yù)期退出運(yùn)行的現(xiàn)象。如果應(yīng)用運(yùn)行期間產(chǎn)生了用戶數(shù)據(jù),直接結(jié)束應(yīng)用進(jìn)程可能會(huì)導(dǎo)致用戶數(shù)據(jù)丟失。

2、對(duì)此,需要提供一種應(yīng)用異常處理方案,能夠在應(yīng)用非預(yù)期退出后使應(yīng)用恢復(fù)運(yùn)行并恢復(fù)非預(yù)期退出前產(chǎn)生的用戶數(shù)據(jù),使得終端也能夠恢復(fù)顯示應(yīng)用在非預(yù)期退出前的界面。


技術(shù)實(shí)現(xiàn)思路

1、本技術(shù)提供了一種應(yīng)用異常處理方法、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì),該方案能使一些運(yùn)行在異系統(tǒng)的第三方應(yīng)用在非預(yù)期退出后觸發(fā)重啟恢復(fù)運(yùn)行,并且能使一些第三方應(yīng)用及時(shí)備份狀態(tài)和數(shù)據(jù)以恢復(fù)退出前的界面,從而能給用戶帶來(lái)更連貫的使用體驗(yàn)。

2、第一方面,本技術(shù)提供了一種應(yīng)用異常處理方法,應(yīng)用于電子設(shè)備,電子設(shè)備上安裝第一操作系統(tǒng)、基于第一操作系統(tǒng)開發(fā)的第一應(yīng)用和基于第二操作系統(tǒng)開發(fā)的第二應(yīng)用;并且,該方法包括:顯示第二應(yīng)用的第一界面,其中第二應(yīng)用的外殼程序運(yùn)行在第一應(yīng)用的第一進(jìn)程中;第二應(yīng)用出現(xiàn)異常退出;恢復(fù)顯示第二應(yīng)用的第一界面。

3、即電子設(shè)備安裝有一類操作系統(tǒng),例如上述第一操作系統(tǒng)。該電子設(shè)備在運(yùn)行異系統(tǒng)(例如上述第二操作系統(tǒng))開發(fā)的第三方應(yīng)用(例如上述第二應(yīng)用)時(shí),該第三方應(yīng)用的外殼程序可以運(yùn)行在基于電子設(shè)備所安裝的操作系統(tǒng)開發(fā)的本地應(yīng)用(下稱原生應(yīng)用,例如上述第一應(yīng)用)的進(jìn)程中。當(dāng)上述第三方應(yīng)用出現(xiàn)非預(yù)期退出(即上述異常退出)的情形時(shí),該電子設(shè)備基于上述第一方面提供的應(yīng)用恢復(fù)方法,能夠恢復(fù)顯示該第三方應(yīng)用在退出前顯示的界面。

4、可以理解,第三方應(yīng)用在運(yùn)行于其他操作系統(tǒng)期間,通常會(huì)運(yùn)行在該操作系統(tǒng)對(duì)應(yīng)提供的容器或虛擬機(jī)提供的特定執(zhí)行環(huán)境中,該第三方應(yīng)用的外殼程序通??梢赃\(yùn)行在該操作系統(tǒng)下開發(fā)的原生應(yīng)用的進(jìn)程中,以方便調(diào)用系統(tǒng)資源顯示應(yīng)用的界面與用戶進(jìn)行交互。當(dāng)原生應(yīng)用的進(jìn)程或者第三方應(yīng)用的外殼程序由于系統(tǒng)內(nèi)存不足或其他相關(guān)故障導(dǎo)致第三方應(yīng)用的運(yùn)行可能存在異常退出的風(fēng)險(xiǎn)時(shí),該原生應(yīng)用往往無(wú)法將異常及時(shí)通知給第三方應(yīng)用,這會(huì)導(dǎo)致第三方應(yīng)用異常退出并且無(wú)法重啟及恢復(fù)顯示退出之前的界面。而在本技術(shù)上述第一方面提供的應(yīng)用異常處理方法中,電子設(shè)備能夠在第三方應(yīng)用異常退出后,能夠重啟運(yùn)行并恢復(fù)顯示該第三方應(yīng)用異常退出之前的界面,即上述第一界面。

5、在上述第一方面的一種可能的實(shí)現(xiàn)中,恢復(fù)顯示第二應(yīng)用的第一界面,包括:第二應(yīng)用在第一時(shí)刻接收到異常通知,保存第一界面的顯示內(nèi)容對(duì)應(yīng)的第一狀態(tài)和第一用戶數(shù)據(jù),其中第一時(shí)刻早于第二應(yīng)用出現(xiàn)異常退出的第二時(shí)刻,第一狀態(tài)至少包括對(duì)應(yīng)于第一界面的顯示內(nèi)容的頁(yè)面棧和狀態(tài)數(shù)據(jù)保存接口中保存的數(shù)據(jù);第二應(yīng)用在第二時(shí)刻出現(xiàn)異常退出,基于第一狀態(tài)和第一用戶數(shù)據(jù)生成第一界面。

6、具體地,本技術(shù)應(yīng)用的電子設(shè)備恢復(fù)顯示第三方應(yīng)用非預(yù)期退出之前的界面,可以通過(guò)在異常退出前的某個(gè)時(shí)刻(例如上述第一時(shí)刻)通知該第三方應(yīng)用系統(tǒng)出現(xiàn)了異常,即上述第二應(yīng)用接收到異常通知。此時(shí),第三方應(yīng)用可以及時(shí)保存該時(shí)刻顯示的界面(例如第一界面)相關(guān)的狀態(tài)和數(shù)據(jù),例如上述第一狀態(tài)和第一用戶數(shù)據(jù),包括相關(guān)界面的顯示內(nèi)容的頁(yè)面棧和狀態(tài)數(shù)據(jù)保存接口中保存的數(shù)據(jù)等。如此,在該第三方應(yīng)用異常退出后,可以根據(jù)已保存的狀態(tài)和數(shù)據(jù)重啟并恢復(fù)顯示異常退出前的界面。

7、在上述第一方面的一種可能的實(shí)現(xiàn)中,第一應(yīng)用為原生應(yīng)用,第二應(yīng)用包括容器應(yīng)用或虛擬機(jī)應(yīng)用,電子設(shè)備包括用于管理容器或虛擬機(jī)的第一服務(wù),并且,第二應(yīng)用在第一時(shí)刻接收到異常通知,包括:第二應(yīng)用接收到第一服務(wù)發(fā)送的第一異常通知,其中第一異常通知為第一服務(wù)響應(yīng)于第一應(yīng)用發(fā)送的第二異常通知生成的。

8、在本技術(shù)的一些示例中,上述第一應(yīng)用為原生應(yīng)用,即電子設(shè)備所安裝的操作系統(tǒng)下開發(fā)的本地應(yīng)用,又稱殼應(yīng)用,用于運(yùn)行各第三方應(yīng)用對(duì)應(yīng)封裝的外殼程序(shell),以向用戶提供用戶界面(user?interface,ui)。上述第二應(yīng)用為其他操作系統(tǒng)下基于虛擬化技術(shù)實(shí)現(xiàn)開發(fā)的容器應(yīng)用或虛擬機(jī)應(yīng)用。其中,根據(jù)不同操作系統(tǒng)適用的虛擬化技術(shù)不同,上述容器應(yīng)用包括linuxtm應(yīng)用、harmonytm應(yīng)用和androidtm應(yīng)用等,虛擬機(jī)應(yīng)用包括windowstm應(yīng)用、mactm應(yīng)用。對(duì)應(yīng)地,電子設(shè)備所安裝的操作系統(tǒng)在通過(guò)容器或虛擬機(jī)為上述第二應(yīng)用提供特定執(zhí)行環(huán)境的同時(shí),還可以包括能夠管理容器或虛擬機(jī)的虛擬化管理服務(wù),例如用于管理容器的容器引擎,或者用于管理虛擬機(jī)的虛擬機(jī)監(jiān)視器等。

9、如此,電子設(shè)備利用上述第一服務(wù),可以與原生應(yīng)用交互建立異常通知的傳送通道,例如將原生應(yīng)用接收到的系統(tǒng)通知的異常對(duì)應(yīng)通知給第三方應(yīng)用,從而能夠觸發(fā)該第三方應(yīng)用保存狀態(tài)和數(shù)據(jù)。

10、可以理解,上述第二應(yīng)用接收到第一異常通知、第一服務(wù)接收及響應(yīng)第一應(yīng)用發(fā)送的第二異常通知的過(guò)程可以同步進(jìn)行。這樣,原生應(yīng)用在接收到系統(tǒng)通知的異常情況時(shí)便可以通過(guò)上述第一服務(wù)通知給第二應(yīng)用,使第二應(yīng)用能夠及時(shí)地保存狀態(tài)和數(shù)據(jù)。

11、在上述第一方面的一種可能的實(shí)現(xiàn)中,電子設(shè)備包括第二服務(wù),并且,方法包括:通過(guò)第二服務(wù)檢測(cè)到與第二應(yīng)用運(yùn)行相關(guān)的故障,向第一應(yīng)用發(fā)送第三異常通知;響應(yīng)于第三異常通知,第一應(yīng)用向第一服務(wù)發(fā)送第二異常通知。

12、例如,上述第二服務(wù)可以是用于檢測(cè)與第三方應(yīng)用運(yùn)行相關(guān)的故障的系統(tǒng)服務(wù),該系統(tǒng)服務(wù)可以包括異常檢測(cè)組件,用于在電子設(shè)備所安裝的操作系統(tǒng)運(yùn)行的過(guò)程中,獲取獲取相關(guān)的系統(tǒng)日志或應(yīng)用日志等,來(lái)確定是否出現(xiàn)與第三方應(yīng)用運(yùn)行相關(guān)的故障,進(jìn)而確定是否出現(xiàn)會(huì)導(dǎo)致第三方應(yīng)用非預(yù)期退出的異常和錯(cuò)誤等。如此,電子設(shè)備利用上述第二服務(wù)則可以將檢測(cè)到的異常和錯(cuò)誤等,通知給上述第一應(yīng)用,例如原生應(yīng)用。進(jìn)一步地,第一應(yīng)用可以繼續(xù)將上述異常和錯(cuò)誤等通知上述第一服務(wù),例如虛擬化管理服務(wù),在此不做限制。

13、在上述第一方面的一種可能的實(shí)現(xiàn)中,與第二應(yīng)用運(yùn)行相關(guān)的故障的類型,包括下列中的任一項(xiàng):js_crash;cpp_crash;app_freeze;kill。

14、其中,js_crash是指由于代碼錯(cuò)誤、內(nèi)存不足等原因?qū)е碌膉avascript代碼異常終止或崩潰;cpp_crash是指由于代碼錯(cuò)誤、內(nèi)存泄漏等原因?qū)е碌腸++程序終止或崩潰;app_freeze是指由于資源不足、代碼錯(cuò)誤或其他問(wèn)題引起的應(yīng)用程序凍結(jié),通常體現(xiàn)為應(yīng)用無(wú)響應(yīng)或停止響應(yīng);kill通常是指操作系統(tǒng)或應(yīng)用程序因系統(tǒng)資源不足、應(yīng)用程序錯(cuò)誤等原因而被強(qiáng)制關(guān)閉或終止。

15、在上述第一方面的一種可能的實(shí)現(xiàn)中,第二應(yīng)用出現(xiàn)異常退出,包括:第二應(yīng)用在第一容器或第一虛擬機(jī)內(nèi)運(yùn)行的第二進(jìn)程被異常結(jié)束,其中第一容器用于在第一操作系統(tǒng)中為容器應(yīng)用提供執(zhí)行環(huán)境,第一虛擬機(jī)用于在第一操作系統(tǒng)中為虛擬機(jī)應(yīng)用提供執(zhí)行環(huán)境;以及,第一應(yīng)用的第一進(jìn)程被異常結(jié)束。

16、即第三方應(yīng)用的非預(yù)期退出可以體現(xiàn)為該第三方應(yīng)用的外殼程序所運(yùn)行的原生應(yīng)用(例如上述第一應(yīng)用)的進(jìn)程(例如上述第一進(jìn)程)被異常結(jié)束,以及該第三方應(yīng)用在相應(yīng)容器內(nèi)運(yùn)行的進(jìn)程(例如上述第二進(jìn)程)被異常結(jié)束。在此不做限制。

17、在上述第一方面的一種可能的實(shí)現(xiàn)中,恢復(fù)顯示第二應(yīng)用的第一界面,包括:第一服務(wù)響應(yīng)于第一應(yīng)用發(fā)送的重啟通知,在第一容器內(nèi)創(chuàng)建第三進(jìn)程,并向第二應(yīng)用發(fā)送重啟指令;第二應(yīng)用響應(yīng)于重啟指令,在第三進(jìn)程中重啟運(yùn)行生成并恢復(fù)顯示第一界面。

18、在上述第一方面的一種可能的實(shí)現(xiàn)中,恢復(fù)顯示第二應(yīng)用的第一界面,包括:響應(yīng)于用戶重啟第二應(yīng)用的操作,第二應(yīng)用啟動(dòng)運(yùn)行并恢復(fù)顯示第一界面。

19、可以理解,上述第二應(yīng)用例如異系統(tǒng)開發(fā)的第三方應(yīng)用,在異常退出后可以基于第一服務(wù)(例如虛擬化管理服務(wù))發(fā)送的重啟指令,在該第一服務(wù)恢復(fù)創(chuàng)建的進(jìn)程(例如上述第三進(jìn)程)中重啟運(yùn)行。并且,上述第二應(yīng)用重啟運(yùn)行后可以恢復(fù)顯示異常退出前的界面,例如上述第一界面。

20、在上述第一方面的一種可能的實(shí)現(xiàn)中,第一異常通知對(duì)應(yīng)通知的異常類型,包括下列中的任一項(xiàng):內(nèi)存不足導(dǎo)致的異常;由js_crash、cpp_crash、app_freeze、kill中的至少一項(xiàng)故障導(dǎo)致的異常;用戶指示清理內(nèi)存或批量結(jié)束應(yīng)用進(jìn)程的操作導(dǎo)致的異常。

21、可以理解,造成第三方應(yīng)用非預(yù)期退出的原因可以包括多種,因此上述第一異常通知對(duì)應(yīng)通知的異常類型也可以包括上述多項(xiàng)中的任一項(xiàng)。在另一些實(shí)施例中,上述第一異常通知對(duì)應(yīng)通知的異常類型也可以包括不同于上述各項(xiàng)的其他類型,在此不做限制。

22、在上述第一方面的一種可能的實(shí)現(xiàn)中,電子設(shè)備還包括基于第三操作系統(tǒng)開發(fā)的第三應(yīng)用,第三操作系統(tǒng)與第二操作系統(tǒng)的類型不同;并且,第三應(yīng)用的外殼程序運(yùn)行在第四應(yīng)用的第四進(jìn)程中,第四應(yīng)用是基于第一操作系統(tǒng)開發(fā)的原生應(yīng)用。

23、即基于不同的操作系統(tǒng)開發(fā)的第三方應(yīng)用,各自的外殼程序可以運(yùn)行在不同原生應(yīng)用的進(jìn)程中。例如,linuxtm應(yīng)用與windowstm應(yīng)用的外殼程序可以分別運(yùn)行在不同原生應(yīng)用的進(jìn)程中。對(duì)應(yīng)地,基于相同操作系統(tǒng)開發(fā)的第三方應(yīng)用,各自的外殼程序可以運(yùn)行在同一原生應(yīng)用的進(jìn)程中。例如,容器應(yīng)用linuxtm應(yīng)用a與linuxtm應(yīng)用b的外殼程序可以運(yùn)行在同一原生應(yīng)用的進(jìn)程中。

24、在上述第一方面的一種可能的實(shí)現(xiàn)中,第一操作系統(tǒng)與第二操作系統(tǒng)的類型不同,并且,

25、第一操作系統(tǒng)、第二操作系統(tǒng)的類型包括下列中的任一項(xiàng):openharmonytm;harmonyostm;linuxtm;androidtm;windowstm;mactm。

26、第二方面,本技術(shù)提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;一個(gè)或多個(gè)存儲(chǔ)器;一個(gè)或多個(gè)存儲(chǔ)器存儲(chǔ)有一個(gè)或多個(gè)程序,當(dāng)一個(gè)或者多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得電子設(shè)備執(zhí)行上述第一方面及第一方面的各種可能的實(shí)現(xiàn)提供的應(yīng)用異常處理方法。

27、第三方面,本技術(shù)提供了一種計(jì)算機(jī)可讀介質(zhì),可讀介質(zhì)上存儲(chǔ)有指令,指令在計(jì)算機(jī)上執(zhí)行時(shí)使計(jì)算機(jī)執(zhí)行上述第一方面及第一方面的各種可能的實(shí)現(xiàn)提供的應(yīng)用異常處理方法。

28、第四方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面及第一方面的各種可能的實(shí)現(xiàn)提供的應(yīng)用異常處理方法。

29、上述第二方面至第四方面的有益效果,可以參考上述第一方面以及第一方面的各種可能的實(shí)現(xiàn)中的相關(guān)描述,在此不做贅述。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1