亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種Android系統(tǒng)的應(yīng)用恢復(fù)方法及系統(tǒng)的制作方法

文檔序號:9326703閱讀:534來源:國知局
一種Android系統(tǒng)的應(yīng)用恢復(fù)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及Android系統(tǒng)領(lǐng)域,尤其涉及一種Android系統(tǒng)的應(yīng)用恢復(fù)方法及系 統(tǒng)。
【背景技術(shù)】
[0002] 應(yīng)用程序,例如網(wǎng)格UI應(yīng)用程序在初期發(fā)布時,一般都運行正常,因為其經(jīng)過了 嚴(yán)格的測試才發(fā)布到終端,但經(jīng)過一段時間的運行,由于與云端進(jìn)行了數(shù)據(jù)交互,最終應(yīng)用 程序可能由于不可預(yù)期的錯誤,導(dǎo)致無法正常啟動。
[0003] 因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

【發(fā)明內(nèi)容】

[0004] 鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種Android系統(tǒng)的應(yīng)用恢復(fù) 方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中應(yīng)用程序在啟動時發(fā)生啟動異常的問題。
[0005] 本發(fā)明的技術(shù)方案如下: 一種Android系統(tǒng)的應(yīng)用恢復(fù)方法,其中,包括步驟: A、 當(dāng)應(yīng)用程序啟動異常時,將錯誤信息以及設(shè)備信息上報至云端服務(wù)器,并在系統(tǒng)中 設(shè)置一用于表示所述應(yīng)用程序出現(xiàn)啟動異常的標(biāo)記; B、 當(dāng)該應(yīng)用程序下次啟動時,在系統(tǒng)中讀取是否存在該標(biāo)記,若存在則刪除從云端 服務(wù)器下載的緩存文件,并使用應(yīng)用程序正常啟動時備份的緩存文件,以啟動所述應(yīng)用程 序; C、 判斷應(yīng)用程序是否啟動成功,若未成功則進(jìn)入步驟D ; D、 啟動一下載更新模塊,通過所述下載更新模塊從云端服務(wù)器下載該應(yīng)用程序的更新 文件,以啟動所述應(yīng)用程序。
[0006] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)方法,其中,所述步驟D包括: D1、啟動一下載更新模塊,并暫停啟動所述應(yīng)用程序; D2、通過所述下載更新模塊從云端服務(wù)器下載該應(yīng)用程序的更新文件; D3、根據(jù)所述更新文件啟動所述應(yīng)用程序。
[0007] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)方法,其中,所述步驟D3之后還包括: D4、當(dāng)成功啟動所述應(yīng)用程序時,則刪除所述標(biāo)記。
[0008] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)方法,其中,所述設(shè)備信息包括設(shè)備號、設(shè)備ID、 系統(tǒng)版本號、軟件版本號及軟件版本名稱。
[0009] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)方法,其中,所述上報至云端服務(wù)器的錯誤信息 中設(shè)置有一用于標(biāo)識應(yīng)用程序的標(biāo)示。
[0010] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)方法,其中,所述應(yīng)用程序為網(wǎng)格UI應(yīng)用程序。
[0011] -種Android系統(tǒng)的應(yīng)用恢復(fù)系統(tǒng),其中,包括步驟: 上報模塊,用于當(dāng)應(yīng)用程序啟動異常時,將錯誤信息以及設(shè)備信息上報至云端服務(wù)器, 并在系統(tǒng)中設(shè)置一用于表示所述應(yīng)用程序出現(xiàn)啟動異常的標(biāo)記; 第一層處理模塊,用于當(dāng)該應(yīng)用程序下次啟動時,在系統(tǒng)中讀取是否存在該標(biāo)記,若存 在則刪除從云端服務(wù)器下載的緩存文件,并使用應(yīng)用程序正常啟動時備份的緩存文件,以 啟動所述應(yīng)用程序; 判斷模塊,用于判斷應(yīng)用程序是否啟動成功,若未成功則進(jìn)入第二層處理模塊; 第二層處理模塊,用于啟動一下載更新模塊,通過所述下載更新模塊從云端服務(wù)器下 載該應(yīng)用程序的更新文件,以啟動所述應(yīng)用程序。
[0012] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)系統(tǒng),其中,所述第二層處理模塊包括: 啟動單元,用于當(dāng)存在該標(biāo)記時,則啟動一下載更新模塊,并暫停啟動所述應(yīng)用程序; 下載單元,用于通過所述下載更新模塊從云端服務(wù)器下載該應(yīng)用程序的更新文件; 啟動單元,用于根據(jù)所述更新文件啟動所述應(yīng)用程序。
[0013] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)系統(tǒng),其中,所述第二層處理模塊還包括: 刪除單元,用于當(dāng)成功啟動所述應(yīng)用程序時,則刪除所述標(biāo)記。
[0014] 所述的Android系統(tǒng)的應(yīng)用恢復(fù)系統(tǒng),其中,所述設(shè)備信息包括設(shè)備號、設(shè)備ID、 系統(tǒng)版本號、軟件版本號及軟件版本名稱。
[0015] 有益效果:本發(fā)明從應(yīng)用出現(xiàn)異常的原因出發(fā),通過Java的特性來解決,具體是 在應(yīng)用程序出現(xiàn)異常時,對其進(jìn)行標(biāo)記,然后重啟應(yīng)用,并且將從云端服務(wù)器下的緩存文件 刪除,從而使用之前備份的緩存文件,解決應(yīng)用程序在與云端交互時不兼容的問題。
【附圖說明】
[0016] 圖1為本發(fā)明一種Android系統(tǒng)的應(yīng)用恢復(fù)方法較佳實施例的流程圖。
[0017] 圖2為本發(fā)明一種Android系統(tǒng)的應(yīng)用恢復(fù)系統(tǒng)較佳實施例的結(jié)構(gòu)框圖。
【具體實施方式】
[0018] 本發(fā)明提供一種Android系統(tǒng)的應(yīng)用恢復(fù)方法及系統(tǒng),為使本發(fā)明的目的、技術(shù) 方案及效果更加清楚、明確,以下對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體 實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0019] 請參閱圖1,圖1為本發(fā)明一種Android系統(tǒng)的應(yīng)用恢復(fù)方法較佳實施例的流程 圖,如圖所示,其包括步驟: 5101、 當(dāng)應(yīng)用程序啟動異常時,將錯誤信息以及設(shè)備信息上報至云端服務(wù)器,并在系統(tǒng) 中設(shè)置一用于表示所述應(yīng)用程序出現(xiàn)啟動異常的標(biāo)記; 5102、 當(dāng)該應(yīng)用程序下次啟動時,在系統(tǒng)中讀取是否存在該標(biāo)記,若存在則刪除從云端 服務(wù)器下載的緩存文件,并應(yīng)用程序正常啟動時備份的緩存文件,以啟動所述應(yīng)用程序; 5103、 判斷應(yīng)用程序是否啟動成功,若未成功則進(jìn)入步驟S104,若成功則進(jìn)入步驟 S105 ; 5104、 啟動一下載更新模塊,通過所述下載更新模塊從云端服務(wù)器下載該應(yīng)用程序的 更新文件,以啟動所述應(yīng)用程序; 5105、 結(jié)束。
[0020] 當(dāng)應(yīng)用程序,特別是網(wǎng)格UI應(yīng)用程序剛發(fā)布時,一般不會出現(xiàn)異常,這是因為其 經(jīng)過了較嚴(yán)格的測試才發(fā)布到終端。但經(jīng)過一段時間的運行,就可能出現(xiàn)異常,例如協(xié)議字 段不匹配等不可預(yù)期的錯誤出現(xiàn)時,網(wǎng)格UI進(jìn)程可能會停止運行;同時,由于錯誤數(shù)據(jù)已 經(jīng)緩存到本地,下次重啟依然會加載此錯誤數(shù)據(jù),導(dǎo)致網(wǎng)格UI停止運行的錯誤無法恢復(fù)。
[0021] 應(yīng)用程序在初始運行時未出現(xiàn)異常,但是當(dāng)與云端交互時,則可能出現(xiàn)不兼容問 題導(dǎo)致應(yīng)用程序無法運行。為了解決上述數(shù)據(jù)不兼容的問題,在本發(fā)明中基于Java的異常 處理機(jī)制來解決: Java 中有一個接口 :UncaughtExceptionHandler,其描述如表 1 : 表1
通過上述分析,就可以實現(xiàn)這樣一個接口,在應(yīng)用程序的主線程中設(shè)置處理程序,即當(dāng) 應(yīng)用程序的主線程出現(xiàn)異常的時候,對其進(jìn)行容錯處理。
[0022] 當(dāng)應(yīng)用程序啟動出現(xiàn)異常時(此處以網(wǎng)格UI應(yīng)用程序為例),判斷是否已將錯誤信 息上報給云端服務(wù)器,如果未將錯誤信息上報,則將錯誤信息上報給云端服務(wù)器。如果已 將錯誤信息上報給云端,為了信息的準(zhǔn)確性,同時將以下設(shè)備信息同步上傳給云端服務(wù)器, 如:設(shè)備號(Dnum)、設(shè)備 ID(Deviceld)、系統(tǒng)版本號(ClientType SystemVersion)、軟件版 本號(SWVersion)及軟件版本名稱(SWVersionName,包括代碼的SVN號)。
[0023] 同時在系統(tǒng)中設(shè)置一用于表示所述應(yīng)用程序出現(xiàn)啟動異常的標(biāo)記,表示該應(yīng)用程 序出現(xiàn)了異常,需要容錯處理,標(biāo)記成功后,則結(jié)束運行,然后重新啟動。
[0024] 在該應(yīng)用程序再次啟動時,讀取系統(tǒng)中是否存在所述標(biāo)記,如果存在,則在啟動 時,將從云端服務(wù)器下載的緩存文件刪除,從而使用應(yīng)用程序正常啟動時備份的緩存文件 (例如應(yīng)用程序最近一次正常啟動備份的緩存文件),因為不能啟動的原因是由于客戶端與 客戶端從服務(wù)端下載的協(xié)議及其它文件不兼容導(dǎo)致的,所以改為使用之前正常啟動的備份 的緩存文件即可解決上述問題。
[0025] 但上述方案僅僅能夠作為應(yīng)用程序異常啟動的第一層保護(hù)機(jī)制,其原因有三:首 先,上述方案僅對未做異常處理的應(yīng)用程序起作用,如果某個應(yīng)用程序已經(jīng)事先準(zhǔn)備好異 常處理,則在該應(yīng)用程序啟動異常時首先需要添加異常處理邏輯,若未執(zhí)行異常處理,則可 能不會進(jìn)入到主線程的全局處理,即無法執(zhí)行上述的容錯處理。其次,有些應(yīng)用程序在開發(fā) 時未按規(guī)則正常編寫代碼,這樣在進(jìn)行第一層保護(hù)時,無法捕獲全局異常,導(dǎo)致服務(wù)端的協(xié) 議出問題時反復(fù)重啟應(yīng)用程序。再者,某些應(yīng)用程序無法啟動的原因不是客戶端與客戶端 下載的資源文件不兼容導(dǎo)致的,所以即使使用應(yīng)用程序正常啟動時備份的資源文件也并不 能解決該問題。
[0026] 本發(fā)明中,還采用了第二層保護(hù)機(jī)制,其主要是修改應(yīng)用程序的啟動機(jī)制,使其能 夠修復(fù)問題,并且可以
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1