熱補丁
Android平台開發的軟體
熱補丁(hotfix),又稱為patch,指能夠修復軟體漏洞的一些代碼,是一種快速、低成本修復產品軟體版本缺陷的方式。通過電子郵件或者其他途徑來通知用戶有關補丁的消息,一般在軟體供應商的網站上可以免費下載補丁程序。和升級軟體版本相比,熱補丁的主要優勢是不會使設備當前正在運行的業務中斷,即在不重啟設備的情況下,可以對設備當前軟體版本的缺陷進行修復。
熱補丁
補丁文件中的補丁均為增量補丁。所謂增量補丁,是指各補丁單元對於在其前面的補丁單元有依賴性。也就是說,如果補丁文件中有3個補丁單元,則3號補丁必須在1號和2號補丁生效之後才能運行,而不能直接單獨運行3號補丁。
每個補丁都有自身的狀態,只有在用戶命令行的干預下才能發生切換。補丁狀態切換與命令操作關係如圖1所示,其中IDLE、DEACTIVE、ACTIVE和RUNNING表示補丁的不同狀態,載入、臨時運行、確認運行、停止運行、刪除、安裝、卸載表示補丁操作,分別對應命令patch load、patch active、patch run、patch deactive、patch delete和patch install、undo patch install,箭頭方向表示狀態的轉變方向,比如對DEACTIVE狀態的補丁執行patch active操作,補丁的狀態就會變為ACTIVE。
圖1補丁狀態切換與命令操作關係圖
表示尚未載入補丁,無法進行安裝、運行等補丁操作,如圖2所示(假設系統補丁區中最多可以載入8個補丁)。
系統重啟后,所有處於IDLE狀態的補丁仍為IDLE狀態。
熱補丁
系統重啟后,所有處於DEACTIVE狀態的補丁仍為DEACTIVE狀態。
表示補丁已經被臨時運行,即該補丁在設備重啟之後不再生效。對於圖3中7個處於DEACTIVE狀態的補丁,用戶如果激活前5個補丁,則前5個補丁的狀態將由DEACTIVE狀態變成ACTIVE狀態,此時系統中補丁狀態如圖4所示。
系統重啟后,所有處於ACTIVE狀態的補丁將變成DEACTIVE狀態。
熱補丁
圖5補丁被確認運行
系統重啟后,所有處於RUNNING狀態的補丁將保持為RUNNING狀態。
熱補丁
l正式補丁(Common patches)是通過版本發布流程發布的補丁。
l臨時補丁(Temporary patches)是未通過版本發布流程發布,用於臨時解決緊急問題和需求的補丁。
正式補丁總會包含前面臨時補丁的功能,從而替代前面的臨時補丁。補丁的類型只對補丁載入(Load)過程產生影響——系統在載入正式補丁之前會先將系統中所有臨時補丁刪除。