Android面試準(zhǔn)備
面試題參考
- java 十道 高級(jí)面試題
- 2019初中級(jí)Android開(kāi)發(fā)社招面試解答
- OPPO Android開(kāi)發(fā)技術(shù)面總結(jié)
- Android大廠面試經(jīng)驗(yàn)分享
- Android 技能圖譜學(xué)習(xí)路線
- 2018年廣州某些公司Android面試題(技術(shù)+總監(jiān)+人事)
- Android 2018年面試經(jīng)歷總結(jié)
- Android開(kāi)發(fā)面試經(jīng)——常見(jiàn)面試官提問(wèn)Android題
- 一個(gè)老Android的面試總結(jié)
- Android最新面試實(shí)戰(zhàn)總結(jié)
- 18年底Android面經(jīng)分享(已獲頭條兜畸、順豐句葵、OPPO等大廠offer)
- 互聯(lián)網(wǎng)寒冬下,一個(gè) Android 程序員的面試心得
- Android APP性能優(yōu)化的四個(gè)方面最全總結(jié)
- Android 開(kāi)發(fā)社招面經(jīng),歷時(shí)兩月斬獲BAT+頭條四個(gè)公司 Offer
- 2018年年底Android悲催的面試之路
- 2018下半年Android面試歷程
- Android面試看完這篇文章就可以了
- 看完這篇 Android ANR 分析河质,就可以和面試官裝逼了!
- 最接地氣的Android面試總結(jié)心得
- Android大廠面試經(jīng)驗(yàn)分享
技術(shù)單點(diǎn)突破
Handler
1嘲碱、一個(gè)線程能否創(chuàng)建多個(gè)Handler累奈,Handler跟Looper之間的對(duì)應(yīng)關(guān)系
以一個(gè) Thread 為基準(zhǔn),他們的數(shù)量關(guān)系是 : Thread(1) 彻桃、Looper(1)坛善、MessageQueue(1)、Handler(N)
2邻眷、為何一個(gè)線程只有(允許有)一個(gè)Looper對(duì)象眠屎?
Looper 是通過(guò) Looper.prepare() 創(chuàng)建, 最終是由 ThreadLocal<Looper> sThreadLocal 持有肆饶,而 ThreadLocal 保證每一個(gè)線程只存在一個(gè)Looper對(duì)象改衩,ThreadLocal采用 HashMap ,key = CurrentThread (自己理解驯镊,不準(zhǔn)確葫督,有需要自行Google)
3、HandlerThread是什么 & 原理 & 使用場(chǎng)景阿宅?
HandlerThread 繼承自Thread 候衍,擴(kuò)轉(zhuǎn)Thread 便于Handler 使用笼蛛, 使用場(chǎng)景:在子線程中執(zhí)行耗時(shí)的洒放、可能有多個(gè)任務(wù)的操作
* 正常在子線程中創(chuàng)建 Handler 的方式
* HandlerThread.run() 方法
對(duì)比后,發(fā)現(xiàn) HandlerThread 是針對(duì)于 Handler 生成的 Thread 模板滨砍。
4往湿、在Activtiy中創(chuàng)建一個(gè)Thread和在一個(gè)Service中創(chuàng)建一個(gè)Thread的區(qū)別妖异?
在Activity中被創(chuàng)建:該Thread的就是為這個(gè)Activity服務(wù)的,完成這個(gè)特定的Activity交代的任務(wù)领追,主動(dòng)通知該Activity一些消息和事件他膳,Activity銷(xiāo)毀后,該Thread也沒(méi)有存活的意義了绒窑。
在Service中被創(chuàng)建:這是保證最長(zhǎng)生命周期的Thread的唯一方式棕孙,只要整個(gè)Service不退出,Thread就可以一直在后臺(tái)執(zhí)行些膨,一般在Service的onCreate()中創(chuàng)建蟀俊,在onDestroy()中銷(xiāo)毀。所以订雾,在Service中創(chuàng)建的Thread肢预,適合長(zhǎng)期執(zhí)行一些獨(dú)立于APP的后臺(tái)任務(wù),比較常見(jiàn)的就是:在Service中保持與服務(wù)器端的長(zhǎng)連接洼哎。