Keep alive method and device of the invention provides a application program, through the dependence of the first service registration and service second, were killed in the second service, the first service corresponding to the first application by binding the second service request, service manager out there are second services in judgment, to create second service, and re created to accommodate second service second applications, so as to achieve the second program alive. The scheme adopted in this application does not require active interaction to achieve live protection, but only when the second program is killed, it reduces the waste of computing resources and power consumption. And, when the second program is killed, you can recreate the second program to save the second program that is alive.
【技術實現步驟摘要】
一種應用程序的保活方法和裝置
本申請涉及終端
,尤其涉及一種應用程序的保活方法和裝置。
技術介紹
由于系統運行時資源的限制,因此應用程序無法保持較長時間存活、無法實現一些時效性要求很高的功能。應用程序保活對于一些需要強實時消息推送、發警告通知、運營信息更新等場景乃至提升人機交互的連續性、流暢性等都有重大價值。現有的技術大多數的方案通過應用程序之間主動交互來實現保活,若交互達不到預期效果或拋出了異常,便認為對端程序已經消亡。這種主動交互既浪費計算資源(繼而消耗電量)又需要用心控制交互的頻率來實現保活。并且,采用這種主動交互的方法,并不能對對端程序的消亡做任何挽救,對于應用程序之間的相互支撐仍然存在一定的不足。
技術實現思路
本申請實施例提出了一種應用程序的保活方法和裝置,用以實現對被保活程序的挽救。在一個方面,本申請實施例提供了一種應用程序的保活方法,包括:第一應用程序發起綁定第二應用程序的第二服務的請求;在服務管理器判斷出存在第二服務時,所述第二應用程序向所述第一應用程序返回所述第二服務的代理對象;所述第一應用程序的第一服務通過所述代理對象注冊與所述第二服務的依賴關系;在所述第二服務被殺死時,所述服務管理器根據所述依賴關系通知所述第一服務;第一應用程序在獲知所述第二服務被殺死后,發起綁定所述第二服務的請求;所述服務管理器在判斷出不存在第二服務時,重新創建第二服務,并重新創建容納第二服務的第二應用程序。在另一個方面,本申請實施例提供了一種應用程序的保活裝置,包括:第一應用程序、第二應用程序以及服務管理器,所述第一應用程序包括第一服務,所述第二應用程序包括第 ...
【技術保護點】
一種應用程序的保活方法,其特征在于,包括:第一應用程序發起綁定第二應用程序的第二服務的請求;在服務管理器判斷出存在第二服務時,所述第二應用程序向所述第一應用程序返回所述第二服務的代理對象;所述第一應用程序的第一服務通過所述代理對象注冊與所述第二服務的依賴關系;在所述第二服務被殺死時,所述服務管理器根據所述依賴關系通知所述第一服務;第一應用程序在獲知所述第二服務被殺死后,發起綁定所述第二服務的請求;所述服務管理器在判斷出不存在第二服務時,重新創建第二服務,并重新創建容納第二服務的第二應用程序。
【技術特征摘要】
1.一種應用程序的保活方法,其特征在于,包括:第一應用程序發起綁定第二應用程序的第二服務的請求;在服務管理器判斷出存在第二服務時,所述第二應用程序向所述第一應用程序返回所述第二服務的代理對象;所述第一應用程序的第一服務通過所述代理對象注冊與所述第二服務的依賴關系;在所述第二服務被殺死時,所述服務管理器根據所述依賴關系通知所述第一服務;第一應用程序在獲知所述第二服務被殺死后,發起綁定所述第二服務的請求;所述服務管理器在判斷出不存在第二服務時,重新創建第二服務,并重新創建容納第二服務的第二應用程序。2.如權利要求1所述的方法,其特征在于,所述第一應用程序的第一服務通過所述代理對象注冊與所述第二服務的依賴關系具體包括:所述第一應用程序的第一服務通過所述代理對象以所述第一服務為入參調用所述第二服務的方法linkToDeath()。3.如權利要求1所述的方法,其特征在于,根據所述依賴關系通知所述第一服務具體包括:調用Service1.binderDied()方法。4.如權利要求1所述的方法,其特征在于,第一應用程序在獲知第二服務被殺死具體為:通過binderDied()回調收到了Service2被殺死的消息。5.如權利要求1所述的方法,其特征在于,所述第一應用程序在獲知所述第二服務被殺死后,發起綁定所述第二服務的請求時,指明自動創建模式;根據該自動創建模式,服務管理器在判斷出不存在第二服務時,自動重新創建第二服務,并重新創建容納第二服務的第二應用程序。6.如權利要求1所述的方法,其特征在于,還包括:第二應用程序發起綁定所述第一服務的請求;所述第一應用程序向所述第二應用程序返回所述第一服務的代理對象;在所述服務管理器判斷出存在第一服務時,所述第二服務通過所述代理對象注冊與所述第一服務的依賴關系;在所述第一服務被殺死時,所述服務管理器根據所述依賴關系通知所述第二服務;第二應用程序在獲知所述第一服務被殺死后,發起綁定所述第一服務的請求;所述服務管理器在判斷出不存在第一服務時,重新創建第一服務,并重新創建容納第一服務的第一應用程序。7.如權利要求6所述的方法,其特征在于,所述第二應用程...
【專利技術屬性】
技術研發人員:王飛,
申請(專利權)人:阿里巴巴集團控股有限公司,
類型:發明
國別省市:開曼群島,KY
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。