10天拿到阿里Android崗offer,想進BTAJ
在安卓系統中: 當系統記憶體不足時,Android系統將根據程序的優先順序選擇殺死一 些不太重要的程序,優先順序低的先殺死。程序優先順序從高到低如下。
前臺程序
- 處於正在與使用者互動的
activity
- 與前臺
activity
繫結的service
- 呼叫了
startForeground()
方法的service
- 正在執行
oncreate()
,onstart()
,ondestroy
方法的service
。
程序中包含正在執行onReceive()
方法的BroadcastReceiver
。
系統中的前臺程序並不會很多,而且一般前臺程序都不會因為記憶體不足被殺死。特 殊情況除外。當記憶體低到無法保證所有的前臺程序同時執行時,才會選擇殺死某個 程序。
可視程序
- 為處於前臺,但仍然可見的
activity
(例如:呼叫了onpause()
而還沒呼叫onstop()
的activity)。典型情況是:執行activity
時,彈出對話方塊(dialog
等),此時的activity
雖然不是前臺activity
,但是仍然可見。 - 可見activity繫結的
service
。(處於上訴情況下的activity
所繫結的service
)
可視程序一般也不會被系統殺死,除非為了保證前臺程序的執行不得已而為之。
服務程序
- 已經啟動的service
後臺程序
- 不可見的
activity
(呼叫onstop()
之後的activity
)
後臺程序不會影響使用者的體驗,為了保證前臺程序,可視程序,服務程序的執行, 系統隨時有可能殺死一個後臺程序。當一個正確實現了生命週期的activity處於後臺 被殺死時,如果使用者重新啟動,會恢復之前的執行狀態。
空程序
- 任何沒有活動的程序
系統會殺死空程序,但這不會造成影響。空程序的存在無非為了一些快取,以便於 下次可以更快的啟動。
文末
好了,今天的分享就到這裡,如果你對在面試中遇到的問題,或者剛畢業及工作幾年迷茫不知道該如何準備面試並突破現狀提升自己,對於自己的未來還不夠了解不知道給如何規劃,可以來看看同行們都是如何突破現狀,怎麼學習的,來吸收他們的面試以及工作經驗完善自己的之後的面試計劃及職業規劃。
這裡放上一部分我工作以來以及參與過的大大小小的面試收集總結出來的相關的幾十套騰訊、頭條、阿里、美團等公司21年的面試專題,其中把技術點整理成了視訊和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節
,由於篇幅有限,這裡以圖片的形式給大家展示一部分免費分享給大家,主要還是希望大家在如今大環境不好的情況下面試能夠順利一點,希望可以幫助到大家~
還有 高階架構技術進階腦圖、Android開發面試專題資料,高階進階架構資料 幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習,也可以分享給身邊好友一起學習。
【Android核心高階技術PDF文件,BAT大廠面試真題解析】
【延伸Android必備知識點】
這裡只是整理出來的部分面試題,後續會持續更新,希望通過這些高階面試題能夠降低面試Android崗位的門檻,讓更多的Android工程師理解Android系統,掌握Android系統。喜歡的話麻煩點選一個喜歡在關注一下~