Android官方命令深入分析之bmgr

2021-09-22 20:51:53 字數 1432 閱讀 9940

bmgr是乙個可以跟backup manager進行互動的shell工具,要使用這個工具,android裝置api最小為8.它提供了備份和恢復操作的命令,所以你無需頻繁的清除資料。這些命令通過adb shell進行訪問。

正常情況下,你的應用在它的資料發生更改時,必須通過datachanged()方法通知backup manager。backup manager接下來在將來的某個時間呼叫你的備份**的onbackup()方法。然而,除了呼叫datachanged()方法之外,你可以通過執行bmgr backup命令來發起乙個備份請求。

adb shell bmgr backup 《包名》
《包名》是你計畫備份的應用的包名。當你執行這個備份命令時,你的應用的備份**將會被呼叫通過onbackup()方法執行一系列的備份操作,但是不能確定什麼時候會執行。然而,你可以通過bmgr run 命令強制立即執行備份操作:

adb shell bmgr run
這可以導致備份操作立即執行。觸發所有的應用的備份**,在上一次備份操作完成後呼叫datachanged()方法。任何應用都可以通過bmgr backup進行手動計畫備份。

不同於備份操作,恢復操作立即執行。backup manager現在提供了兩種恢復操作。第一種是整個裝置的資料進行備份,這通常發生在裝置在第一次使用時,並且只有系統才能執行。第二種恢復操作恢復單個應用的活躍資料設定,這就意味著,應用將禁止當前的資料並且用最後一次備份的資料進行替代。可以通過呼叫requerestore()方法呼叫。backup manager會呼叫你的備份**的onrestore()方法。

當你測試你的應用時,你可以通過bmgr restore命令來實現恢復操作:

adb shell bmgr restore 
是指要恢復的應用的報名。backup manager將會立即執行恢復操作,前提是,應用當前沒有執行。

清除資料

單個應用的資料可以根據需求從活躍資料組中擦除。這在你開發備份**時是非常有用的,防止bugs導致寫入壞的資料或者儲存狀態資訊。你可以通過bmgr wipe命令來擦除應用的資料。

adb shell bmgr wipe 
是指你希望擦除資料的應用的包名。下一次的備份操作應用將被視為之前從未進行過備份。

啟用和禁止備份

可以通過bmgr enbled命令對backup manager進行啟用。

adb shell bmgr enabled
這個命令對於你的應用從來沒有呼叫備份**來進行過備份來說,非常有用。用來驗證作業系統是否認為需要執行類似操作。

你也可以通過如下命令禁用backup manager:

adb shell bmgr enable 
警告:當備份被禁止後,已經備份的資料會被清空。

IsPostBack深入分析

1 ispostback 介紹 ispostback是 page類有乙個 bool型別的屬性,用來判斷針對當前 form的請求是第一次還是非第一次請求。當 ispostback true時表示非第一次請求,我們稱為 postback,當 ispostback false時表示第一次請求。在 asp....

深入分析ConcurrentHashMap

再多執行緒的情況下,如果使用hashmap,就會導致死迴圈,導致cpu利用率接近100 所以如果是併發的情況不要使用hashmap 導致死迴圈主要是這段 當在多執行緒的情況由於沒有同步導致,著段 在擴容的時候會執行 do while e null 執行緒安全的hashtable 容器 hashtab...

深入分析malloc

本文大量參考了如何實現乙個malloc這篇文章。任何乙個用過或學過c的人對malloc都不會陌生。大家都知道malloc可以分配一段連續的記憶體空間,並且在不再使用時可以通過free釋放掉。但是,許多程式設計師對malloc背後的事情並不熟悉,許多人甚至把malloc當做作業系統所提供的系統呼叫或c...