Android 相關

一循榆、Activity的四種啟動模式詳解
  • 標準模式(standard)
  • 棧頂復用模式(singleTop)

    如果新啟動的activity位于任務棧頂主卫,則不會被重新創(chuàng)建,只會重新調用 onPause屿聋、onNewIntent机久、onResume方法臭墨,也就是說會重新走一遍前臺的生命周期;

  • 棧內復用模式(singleTask)

    只存在唯一的實例膘盖,將該Activity實例之上的Activity被出棧胧弛,一般項目的MainActivity都設置為此模式,方便放回首頁和清空中間Activity侠畔;

  • 單例模式(singleInstance)

    除了具有singleTask模式的所有特性外结缚,還加強了一點,該Activity只能單獨地位于一個任務棧中软棺。

  • 標記屬性

屬性 含義
FLAG_ACTIVITY_SINGLE_TOP 指定啟動模式為棧頂復用模式(SingleTop)
FLAG_ACTIVITY_NEW_TASK 指定啟動模式為棧內復用模式(SingleTask)
FLAG_ACTIVITY_CLEAR_TOP 所有位于其上層的Activity都要移除红竭,SingleTask模式默認具有此標記效果
二、android開發(fā)中跨進程通信有幾種方式
  • 在android SDK中提供了4種用于跨進程通訊的方式喘落,Activity茵宪、Content Provider、Broadcast和Service揖盘。

1眉厨、 Activity可以跨進程調用其他應用程序;
2兽狭、Content Provider可以跨進程訪問其他應用程序中的數(shù)據(jù)(以Cursor對象形式返回),當然鹿蜀,也可以對其他應用程序的數(shù)據(jù)進行增箕慧、刪、改操 作茴恰;
3颠焦、 Broadcast可以向android系統(tǒng)中所有應用程序發(fā)送廣播,而需要跨進程通訊的應用程序可以監(jiān)聽這些廣播往枣;
4伐庭、Service和Content Provider類似,也可以訪問其他應用程序中的數(shù)據(jù)分冈,但不同的是圾另,Content Provider返回的是Cursor對象,而Service返回的是Java對象雕沉,這種可以跨進程通訊的服務叫AIDL服務集乔。

三、Service相關
  • Service兩種啟動方式 startService坡椒、 bindService 區(qū)別及生命周期
  1. startService: onCreate -> onStartCommand -> onDestory 扰路,在多次調用startService的時候尤溜,onCreate不重復執(zhí)行,但是onStartCommand會執(zhí)行汗唱。startService調用了這后宫莱,會一直存在,直到其調用了stopService哩罪。
  2. bindService : onCreate -> onBind -> onUnbind -> onDestory授霸,多次調用bindService,onCreate及onBind都只執(zhí)行一次识椰。它生命周期跟隨其調用者绝葡,調用者釋放的時候,必須對該Service解綁腹鹉,當所有綁定全部取消后藏畅,系統(tǒng)即會銷毀該服務。 bindService 的方式通過onServiceConnected方法功咒,獲取到Service對象愉阎,通過該對象可以直接操作到Service內部的方法,從而實現(xiàn)的Service 與調用者之間的交互力奋。
  • Service綁定服務的三種實現(xiàn)方式榜旦,擴展Binder類、使用Messenger景殷、使用AIDL
服務Service與線程Thread的區(qū)別

1溅呢,兩者概念的迥異
【1】Thread 是程序執(zhí)行的最小單元,它是分配CPU的基本單位猿挚,android系統(tǒng)中UI線程也是線程的一種咐旧,當然Thread還可以用于執(zhí)行一些耗時異步的操作。
【2】Service是Android的一種機制绩蜻,服務是運行在主線程上的铣墨,它是由系統(tǒng)進程托管。它與其他組件之間的通信類似于client和server办绝,是一種輕量級的IPC通信伊约,這種通信的載體是binder,它是在linux層交換信息的一種IPC孕蝉,而所謂的Service后臺任務只不過是指沒有UI的組件罷了屡律。
2,兩者的執(zhí)行任務迥異
【1】在android系統(tǒng)中昔驱,線程一般指的是工作線程(即后臺線程)疹尾,而主線程是一種特殊的工作線程,它負責將事件分派給相應的用戶界面小工具,如繪圖事件及事件響應纳本,因此為了保證應用 UI 的響應能力主線程上不可執(zhí)行耗時操作窍蓝。如果執(zhí)行的操作不能很快完成,則應確保它們在單獨的工作線程執(zhí)行繁成。
【2】Service 則是android系統(tǒng)中的組件吓笙,一般情況下它運行于主線程中,因此在Service中是不可以執(zhí)行耗時操作的巾腕,否則系統(tǒng)會報ANR異常面睛,之所以稱Service為后臺服務,大部分原因是它本身沒有UI尊搬,用戶無法感知(當然也可以利用某些手段讓用戶知道)叁鉴,但如果需要讓Service執(zhí)行耗時任務,可在Service中開啟單獨線程去執(zhí)行佛寿。
3幌墓,兩者使用場景
【1】當要執(zhí)行耗時的網絡或者數(shù)據(jù)庫查詢以及其他阻塞UI線程或密集使用CPU的任務時,都應該使用工作線程(Thread)冀泻,這樣才能保證UI線程不被占用而影響用戶體驗常侣。
【2】在應用程序中,如果需要長時間的在后臺運行弹渔,而且不需要交互的情況下胳施,使用服務。比如播放音樂肢专,通過Service+Notification方式在后臺執(zhí)行同時在通知欄顯示著舞肆。

四、Handler通信機制的原理解析
五博杖、EventBus 原理解析
六胆绊、ARouter 原理解析
七、Glide 原理解析
八欧募、熱修復原理解析
九、Flutter混合開發(fā)(交互通信)
十仆抵、HTTPS 原理及工作機制
十一跟继、Android 開發(fā)中的錯誤解決方案
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市镣丑,隨后出現(xiàn)的幾起案子舔糖,更是在濱河造成了極大的恐慌,老刑警劉巖莺匠,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件金吗,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機摇庙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門旱物,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卫袒,你說我怎么就攤上這事宵呛。” “怎么了夕凝?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵宝穗,是天一觀的道長。 經常有香客問我码秉,道長逮矛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任转砖,我火速辦了婚禮须鼎,結果婚禮上,老公的妹妹穿的比我還像新娘堪藐。我一直安慰自己莉兰,他們只是感情好,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布礁竞。 她就那樣靜靜地躺著糖荒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪模捂。 梳的紋絲不亂的頭發(fā)上捶朵,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天,我揣著相機與錄音狂男,去河邊找鬼综看。 笑死,一個胖子當著我的面吹牛岖食,可吹牛的內容都是我干的红碑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼泡垃,長吁一口氣:“原來是場噩夢啊……” “哼析珊!你這毒婦竟也來了?” 一聲冷哼從身側響起蔑穴,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤忠寻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后存和,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奕剃,經...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡衷旅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了纵朋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柿顶。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖倡蝙,靈堂內的尸體忽然破棺而出九串,到底是詐尸還是另有隱情,我是刑警寧澤寺鸥,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布猪钮,位于F島的核電站,受9級特大地震影響胆建,放射性物質發(fā)生泄漏烤低。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一笆载、第九天 我趴在偏房一處隱蔽的房頂上張望扑馁。 院中可真熱鬧,春花似錦凉驻、人聲如沸腻要。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雄家。三九已至,卻和暖如春胀滚,著一層夾襖步出監(jiān)牢的瞬間趟济,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工咽笼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留顷编,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓剑刑,卻偏偏與公主長得像媳纬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子施掏,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355