1. 程式人生 > >了解一些系統的知識總是好的

了解一些系統的知識總是好的

不可用 得到 無法 原則 即使 而是 可用 遇見 問題

做應用的我們經常會碰到各種與系統相關的問題,不懂其中的原理總是會被各種問題困擾著無法前行。

雖然查了很多的資料得到一些解釋,但我還是不太明白Android系統中手動關機和低電量時自動關機處理流程上有什麽區別。

按我的理解,既然應用層有activity生命周期,那麽必須有關機時通過關機廣播,activityManager管理進行關閉當前應用,那麽應用中做的一些恢復操作才是可靠的。

然而我遇見一個特別奇怪的問題,在我的應用程序中做了改變掃描按鍵的禁用的操作,但是在onPause()方法中做了恢復的操作,即使是沒有在正常停止而是按了home鍵退出也會將其復原的,意外是在持續在應用中直至電量耗盡,再次充電開機之後,掃描按鍵還是禁用的狀態,除非在程序中再次執行開關操作,才可以將其恢復。

猜想應該是電量偏低時關機未將應用關閉導致的,原則上關機那肯定是前臺應用都必須退出的,至少應用層的onPause()方法會執行,也不至於出現這種狀況。、

經驗證測試發現該設備在電量耗盡時直接一閃即刻黑屏,之後充電開啟之後掃描按鍵不可用,對於掃描按鍵禁用應該是斷電保存的,其他正常的設備在低電量時會執行關機操作,並有關機動畫顯示,再充電開機之後將是正常。

了解一些系統的知識總是好的