其他面試題推薦:衝刺2021 Android面試之Handler
衝刺2021專欄會一直更新,歡迎收藏
基礎篇
Activity生命週期是什麼,可以簡單聊一下嗎?
1、Activity的四種狀態
running / paused / stopped / killed
狀態 | 說明 |
---|---|
running | Activity此時處於棧頂,可以與用戶交互 |
paused | 一般是Activity失去焦點時候的狀態,被一個非全屏或者透明的Activity覆蓋,此時Activity及其所有內存信息成員變量都存在 |
stopped | 一般是被一個全屏的Activity覆蓋,此時Activity及其所有內存信息成員變量都存在 |
killed | 顧名思義,Activity及其所有內訓信息被銷燬 |
2、Activity生命週期
Activity啓動:onCreate() onStart() onResume()
點Home返回桌面:onPause() onStop() 注意:onPause執行完成纔會跳轉
再次回到Activity:onRestart() onStart() onResume()
退出當前Activity:onPause() onStop() onDestory()
注意:
① MainActivity 啓動 SecondActivity 過程中,生命週期的變化
Main.onCreate()---->Main.onStart()---->Main.onResume()-----“點擊按鈕,開啓一個新的Activity”------>Main.onPause()---------> Second.onCreate()----> Second.onStart()----> Second.onResume()---->Main.onStop()-------“到此,MainActivity 啓動 SecondActivity 過程中就執行完畢”
② 點擊Back按鈕 回到前一個Activity時,SecondActivity 返回 MainActivity 過程中,生命週期的變化
“點擊Back按鈕”--------->Second.onPause()---->Main.onReStart()---->Main.onStart()---->Main.onResume()---->Second.onStop()---->Second.onDestory()
3、Android中進程優先級
前臺>可見>服務>後臺>空
Android任務棧你知道哪些?
顧名思義,Android任務棧是一個棧結構,符合後進先出的規律。用這個棧存儲Activity,用於管理Activity。在退出應用程序時需要安全的將所有Activity清除出棧纔算退出。
一個Activity可以有一個或多個任務棧,因爲啓動模式SingleInstance的存在。
Activity的啓動模式?
啓動模式 | 說明 |
---|---|
Standard(標準模式) | 每一次創建Activity都會創建一個新的Activity |
SingleTop(棧頂複用模式) | 當創建的Activity在棧頂時複用此Activity |
SingleTask(棧內複用模式) | 當創建的Activity在此任務棧時複用此Activity且此Activity之上的Activity出棧 |
SingleInstance(獨享棧模式) | 創建的Activity會在一個新棧中創建 使用場景:A啓動了B,此時A定時任務啓動了C,C爲獨享棧模式,則當C銷燬時會返回B而不是A |
Scheme跳轉協議是什麼,你使用過嗎?
scheme跳轉協議是一種頁面內跳轉協議,通過定義自己的scheme協議,可以非常方便的跳轉App中的各種頁面;通過scheme協議,服務器可以定製化的告訴App跳轉到哪個頁面,可以通過通知欄消息定製跳轉頁面,也可以通過H5頁面跳轉頁面。
進階篇
待更新