Android基礎(chǔ)知識(shí)整理

Android基礎(chǔ)

Java基礎(chǔ)

計(jì)算機(jī)基礎(chǔ)

  • HTTPS協(xié)議 = HTTP協(xié)議 + SSL/TLS協(xié)議
    SSL的全稱是Secure Sockets Layer
    TLS的全稱是Transport Layer Security
    http://www.reibang.com/p/14cd2c9d2cd2
  • 從地址欄輸入http://www.gaxis.cn這個(gè)URL之后,直到我的個(gè)人主頁(yè)加載完成息拜,中間到底發(fā)生了什么呢?
    大概經(jīng)歷了以下過(guò)程:
  1. 分析域名(gaxis)
  2. TCP三次握手(嘿倦微,我能連你嗎?/完全OjbK啊正压。/那我連了啊欣福。)
  3. 建立TCP連接
  4. 瀏覽器發(fā)起HTTP請(qǐng)求
  5. 服務(wù)器響應(yīng)請(qǐng)求(哇兄弟你找我了,我收拾一下給你的數(shù)據(jù)和應(yīng)答碼——這里可以展開(kāi)講服務(wù)器如何響應(yīng))
  6. 瀏覽器解析html代碼并請(qǐng)求html中的js/css/圖片等資源
  7. 瀏覽器進(jìn)行頁(yè)面渲染呈現(xiàn)給用戶

設(shè)計(jì)模式

開(kāi)源庫(kù)

ListView中Button點(diǎn)擊事件被攔截的解決方案
在item的xml布局的根節(jié)點(diǎn)中添加屬性:
android:descendantFocusability=“blocksDescendants”
在button控件上添加屬性:
android:focusable=”false”

MVP
http://www.reibang.com/p/7398ec36d591

======
1焦履、AsyncTask

介紹:

AsyncTask是一種輕量級(jí)的異步任務(wù)類拓劝,可以在后臺(tái)線程池中執(zhí)行后臺(tái)的任務(wù),然后把執(zhí)行的進(jìn)度和最終的結(jié)果傳遞給主線程并在主線程中更新UI嘉裤。從實(shí)現(xiàn)上來(lái)說(shuō)郑临,AsyncTask封裝了Thread和Handler。但它并不適合特別耗時(shí)的任務(wù)屑宠,對(duì)于特別耗時(shí)的任務(wù)應(yīng)該使用線程池厢洞。

它是一個(gè)泛型抽象類,Params表示參數(shù)的類型典奉,Progress表示后臺(tái)任務(wù)進(jìn)度的類型躺翻,而Result表示結(jié)果的返回類。

使用特點(diǎn):

(1)它必須在主線程中創(chuàng)建卫玖,execute方法必須在主線程中調(diào)用

(2)execute方法只能執(zhí)行一次公你,雖然可以傳很多個(gè)參數(shù)(任務(wù))

工作原理:

AsyncTask實(shí)際上是對(duì)線程池和Handler進(jìn)行了封裝。

(1)任務(wù)執(zhí)行:

3.0之前假瞬,AsyncTask是并行執(zhí)行的陕靠,而3.0之后就變?yōu)榱舜袌?zhí)行嚣崭,并且開(kāi)發(fā)者可以選擇進(jìn)行并行執(zhí)行。原理是什么呢懦傍?實(shí)際上它內(nèi)部有兩個(gè)線程池,sDefaultExecutor是一個(gè)自己實(shí)現(xiàn)的串行的線程池芦劣,它是static的粗俱,說(shuō)明一個(gè)進(jìn)程內(nèi)的所有任務(wù)都是它來(lái)執(zhí)行,它的任務(wù)很簡(jiǎn)單虚吟,就是把任務(wù)放進(jìn)一個(gè)隊(duì)列中寸认,然后提醒另一個(gè)并行的線程池THREAD_POOL_EXECUTOR來(lái)取出執(zhí)行,如果有可取的并且當(dāng)前沒(méi)有任務(wù)在執(zhí)行就會(huì)被這個(gè)并行的線程池來(lái)執(zhí)行串慰。如果有任務(wù)在執(zhí)行自然不會(huì)執(zhí)行偏塞,當(dāng)這個(gè)任務(wù)執(zhí)行完之后又會(huì)重新提醒并行的線程池THREAD_POOL_EXECUTOR來(lái)取出隊(duì)列中的任務(wù)進(jìn)行執(zhí)行。所以從這個(gè)原理我們看出來(lái)它是串行執(zhí)行的邦鲫,原因就是老版本是并行的并且很多代碼依賴于這個(gè)邏輯灸叼。

(2)任務(wù)結(jié)果分發(fā)

它的內(nèi)部有一個(gè)static的handler,所以這也是它必須在UI線程中進(jìn)行初始化的原因庆捺,這樣可以保證Handler被正常的初始化古今。當(dāng)任務(wù)執(zhí)行完成后,就會(huì)將結(jié)果發(fā)送給Handler滔以,使得其在主線程被執(zhí)行捉腥。

2、HandlerThread

(1) HandlerThread本質(zhì)上是一個(gè)線程類,繼承了Thread

(2) HandlerThread有自己內(nèi)部的Looper對(duì)象你画,可以進(jìn)行Looper循環(huán)

(3) 通過(guò)獲取HandlerThread的Looper對(duì)象傳遞給Handler對(duì)象抵碟,可以在HandleMessage方法中執(zhí)行異步任務(wù)

(4) 有點(diǎn)事不會(huì)有阻塞,減少了對(duì)性能的消耗坏匪,缺點(diǎn)是不能同時(shí)進(jìn)行多任務(wù)處理拟逮,需要等待進(jìn)行處理,處理效率底

(5) 與線程池重并發(fā)不同适滓,HandlerThread是一個(gè)串行隊(duì)列唱歧,HandlerThread背后只有一個(gè)線程

3、IntentService

介紹:

僅僅是一個(gè)封裝了HandlerThread的Service而已粒竖,由于Service正常來(lái)說(shuō)也是執(zhí)行在主線程的颅崩,所以不能執(zhí)行耗時(shí)的操作。而IntentService在內(nèi)部維護(hù)有個(gè)HandlerThread蕊苗,它擁有自身的Handler沿后,對(duì)應(yīng)于HandlerThread的Looper。當(dāng)收到一個(gè)Intent時(shí)朽砰,它將Intent包裝到Message中直接發(fā)送給Handler來(lái)處理尖滚,從而避免了在主線程中進(jìn)行操作喉刘。

使用:

重寫onHandleIntent,在其中處理Intent漆弄,并且這個(gè)是不在主線程中運(yùn)行的睦裳。

IntentService是繼承并處理異步請(qǐng)求的一個(gè)類,在IntentService內(nèi)有一個(gè)工作線程來(lái)處理耗時(shí)操作撼唾,啟動(dòng)IntentService的方法和啟動(dòng)傳統(tǒng)Service方法一樣廉邑,同時(shí),當(dāng)任務(wù)執(zhí)行完成后倒谷,IntentService會(huì)自動(dòng)停止蛛蒙,而不需要手動(dòng)去控制或者stopSelf(),另外渤愁,可以多次啟動(dòng)IntentService牵祟,而每一個(gè)耗時(shí)操作會(huì)以工作隊(duì)列的方式在IntentService的onHandleIntent回調(diào)中執(zhí)行,并且抖格,每次只執(zhí)行一個(gè)任務(wù)诺苹,執(zhí)行完成一個(gè)再執(zhí)行第二個(gè)


作者:漸忘的歌
來(lái)源:CSDN
原文:https://blog.csdn.net/qq_35503221/article/details/80297404
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接雹拄!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末筝尾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子办桨,更是在濱河造成了極大的恐慌筹淫,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呢撞,死亡現(xiàn)場(chǎng)離奇詭異损姜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)殊霞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門摧阅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人绷蹲,你說(shuō)我怎么就攤上這事棒卷。” “怎么了祝钢?”我有些...
    開(kāi)封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵比规,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我拦英,道長(zhǎng)蜒什,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任疤估,我火速辦了婚禮灾常,結(jié)果婚禮上霎冯,老公的妹妹穿的比我還像新娘。我一直安慰自己钞瀑,他們只是感情好沈撞,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著雕什,像睡著了一般缠俺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上监徘,一...
    開(kāi)封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音吧碾,去河邊找鬼凰盔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛倦春,可吹牛的內(nèi)容都是我干的户敬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼睁本,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼尿庐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起呢堰,我...
    開(kāi)封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤抄瑟,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后枉疼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體皮假,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年骂维,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惹资。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡航闺,死狀恐怖褪测,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情潦刃,我是刑警寧澤侮措,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站乖杠,受9級(jí)特大地震影響萝毛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜滑黔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一笆包、第九天 我趴在偏房一處隱蔽的房頂上張望环揽。 院中可真熱鬧,春花似錦庵佣、人聲如沸歉胶。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)通今。三九已至,卻和暖如春肛根,著一層夾襖步出監(jiān)牢的瞬間辫塌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工派哲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留臼氨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓芭届,卻偏偏與公主長(zhǎng)得像储矩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子褂乍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容