996页阿里Android面试真题解析火爆全网,全网首发!
在安卓系統(tǒng)中: 當系統(tǒng)內存不足時,Android系統(tǒng)將根據(jù)進程的優(yōu)先級選擇殺死一 些不太重要的進程,優(yōu)先級低的先殺死。進程優(yōu)先級從高到低如下。
前臺進程
- 處于正在與用戶交互的activity
- 與前臺activity綁定的service
- 調用了startForeground()方法的service
- 正在執(zhí)行oncreate(),onstart(),ondestroy方法的 service。
進程中包含正在執(zhí)行onReceive()方法的BroadcastReceiver。
系統(tǒng)中的前臺進程并不會很多,而且一般前臺進程都不會因為內存不足被殺死。特 殊情況除外。當內存低到無法保證所有的前臺進程同時運行時,才會選擇殺死某個 進程。
可視進程
- 為處于前臺,但仍然可見的activity(例如:調用了onpause()而還沒調用 onstop()的activity)。典型情況是:運行activity時,彈出對話框(dialog 等),此時的activity雖然不是前臺activity,但是仍然可見。
- 可見activity綁定的service。(處于上訴情況下的activity所綁定的service)
可視進程一般也不會被系統(tǒng)殺死,除非為了保證前臺進程的運行不得已而為之。
服務進程
- 已經(jīng)啟動的service
后臺進程
- 不可見的activity(調用onstop()之后的activity)
后臺進程不會影響用戶的體驗,為了保證前臺進程,可視進程,服務進程的運行, 系統(tǒng)隨時有可能殺死一個后臺進程。當一個正確實現(xiàn)了生命周期的activity處于后臺 被殺死時,如果用戶重新啟動,會恢復之前的運行狀態(tài)。
空進程
- 任何沒有活動的進程
系統(tǒng)會殺死空進程,但這不會造成影響。空進程的存在無非為了一些緩存,以便于 下次可以更快的啟動。
最后
對于很多初中級Android工程師而言,想要提升技能,往往是自己摸索成長,不成體系的學習效果低效漫長且無助。整理的這些架構技術希望對Android開發(fā)的朋友們有所參考以及少走彎路,本文的重點是你有沒有收獲與成長,其余的都不重要,希望讀者們能謹記這一點。
同時我經(jīng)過多年的收藏目前也算收集到了一套完整的學習資料以及高清詳細的Android架構進階學習導圖及筆記免費分享給大家,希望對想成為架構師的朋友有一定的參考和幫助。
下面是部分資料截圖,誠意滿滿:特別適合有開發(fā)經(jīng)驗的Android程序員們學習。
資料免費領取方式:點擊我的騰訊文檔
不論遇到什么困難,都不應該成為我們放棄的理由!
kNLaERkbnFoS0ZF)**
不論遇到什么困難,都不應該成為我們放棄的理由!
如果你看到了這里,覺得文章寫得不錯就給個贊唄?如果你覺得那里值得改進的,請給我留言,一定會認真查詢,修正不足,謝謝。
總結
以上是生活随笔為你收集整理的996页阿里Android面试真题解析火爆全网,全网首发!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英雄联盟生命偷取是怎么计算了的?
- 下一篇: 996页阿里Android面试真题解析火