android解鎖屏時Activity生命週期的變化
最近做的忍者小雞暗殺行動遇到按鎖屏鍵再解鎖時 進入遊戲畫面會特別卡的問題,後來打日誌發現 鎖屏再解屏時生命Activity的生命週期發生異常變化引起的,下面就具體來看下。
事先在GameActivity(遊戲主介面)的 onCreate() 方法和 onDestroy()方法打上Log 。
進入GameActivity時
——————————->onCreate();
按鎖屏後 :
—————————–>onDestroy();
—————————–>onCreate();
再解鎖:
——————————>onDestroy();
——————————->onCreate();
根據日誌可以看出 鎖屏時 系統銷燬當前Activity又在後臺建立了一個Activity ,再解鎖時 系統又銷燬了後臺的Activity 再建立一個新的Activity。
起初不是很明白,後來在網上查了相關資料發現這中情況是由於橫豎屏切換引起的,橫豎屏切換時 會銷燬當前Activity 再建立 一個新的Activity(橫屏切豎屏或者豎屏切橫屏)。具體過程大家可以寫個demo 打上日誌看看 ,這裡就不細說了,至於為什麼要這樣設計還有待研究,下面就來看看這個問題的解決方法:
解決這個問題 只要在程式的配置檔案 (APPManifest.xml ,的相關Activity里加上
android:configChanges=”keyboard|keyboardHidden|orientation”
加上這句後 按鎖屏鍵 就不會銷燬當前Activity 也不會在後臺建立Activity了 ,其生命週期類似於按了Home鍵的過程。
相關文章
- Android Activity生命週期詳解Android
- [Android]Activity的生命週期Android
- Android Activity生命週期Android
- android Activity A和B互相跳轉 生命週期的變化Android
- Android系統橫豎屏切換時候Activity的生命週期Android
- Activity橫豎屏切換生命週期
- Activity生命週期
- Android 元件系列-----Activity生命週期Android元件
- View生命週期與Activity生命週期的關係View
- Android Activity生命週期的一點感悟Android
- 初識Android之Activity的生命週期Android
- Android Activity的生命週期和啟動模式詳解Android模式
- Activity生命週期onDestroy
- Android全面解析之Activity生命週期Android
- Android四大元件——Activity——Activity的生命週期Android元件
- React生命週期的變化React
- 擼擼Android的羊毛(二)----Activity生命週期Android
- Android 之 Activity 生命週期的淺析(二)Android
- activity的生命週期(總結)
- View和Activity的生命週期View
- Android 之 Activity 生命週期淺析(一)Android
- Activity生命週期總結
- Android學習筆記04——Activity的生命週期Android筆記
- Activity 知識梳理(1) Activity生命週期
- Activity的生命週期和啟動模式詳解模式
- 關於activity的生命週期1
- activity生命週期的onPause和onStop
- 深入學習Activity生命週期
- Activity簡介及生命週期
- Android Activity是如何啟動的?Activity的生命週期是如何呼叫的?Android
- Android | Activity和Fragment最全生命週期+發現大牛AndroidFragment
- Android入門教程之Activity(生命週期,啟動...)Android
- Android 基礎 -- Activity 生命週期實踐總結Android
- Activity的生命週期和啟動模式模式
- C++臨時變數的生命週期C++變數
- [譯] android應用開發者,你們真的瞭解Activity的生命週期嗎?Android
- Activity生命週期與啟動模式模式
- Activity生命週期深入理解2