97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

當(dāng)前位置: 移動(dòng)互聯(lián)網(wǎng)學(xué)院 > Android開發(fā) > 2017年新Android面試題大全
2017年新Android面試題大全 時(shí)間:2017-02-23     來源:移動(dòng)互聯(lián)網(wǎng)學(xué)院
2017年新Android面試題大全

  android面試會(huì)問到哪些問題?需要做哪些準(zhǔn)備呢?華清遠(yuǎn)見教育科技集團(tuán)收集整理了一些2017年新的android面試題,希望對(duì)參加android崗位面試和想要學(xué)習(xí)和從事android相關(guān)職位的同學(xué)有所幫助。

      1:android活動(dòng)Activity的生命周期?

  這幾乎是個(gè)老少咸宜,永遠(yuǎn)不會(huì)過時(shí)的問題,而且極有可能是第一個(gè)問題。這個(gè)問題當(dāng)然沒什么好講的啦,死記硬背是沒什么用的了,關(guān)鍵是理解。本人就曾遇到這個(gè)問題的變種問題,問onStart(),與onResume()有什么區(qū)別?如果面試官拋出這個(gè)問題,是不是有點(diǎn)措手不及。今天又聽說有同學(xué)遭遇了更變態(tài)的問題:什么情況下Activity走了onCreat(),而不走onStart(),這簡(jiǎn)直就是腦筋急轉(zhuǎn)彎嘛。

  2:android服務(wù)service的生命周期?

  這里要注意service有兩種啟動(dòng)方式,startService()和bindService();

android服務(wù)的生命周期

 

  3:如何理解Activity,View,Window三者之間的關(guān)系?

  這個(gè)問題真的很不好回答。所以這里先來個(gè)算是比較恰當(dāng)?shù)谋扔鱽硇稳菹滤鼈兊年P(guān)系吧。Activity像一個(gè)工匠(控制單元),Window像窗戶(承載模型),View像窗花(顯示視圖)LayoutInflater像剪刀,Xml配置像窗花圖紙。

  1:Activity構(gòu)造的時(shí)候會(huì)初始化一個(gè)Window,準(zhǔn)確的說是PhoneWindow。

  2:這個(gè)PhoneWindow有一個(gè)“ViewRoot”,這個(gè)“ViewRoot”是一個(gè)View或者說ViewGroup,是初始的根視圖。

  3:“ViewRoot”通過addView方法來一個(gè)個(gè)的添加View。比如TextView,Button等

  4:這些View的事件監(jiān)聽,是由WindowManagerService來接受消息,并且回調(diào)Activity函數(shù)。比如onClickListener,onKeyDown等。

  4:Activity的幾種LaunchMode及使用場(chǎng)景

  standard 模式

  這是默認(rèn)模式,每次激活A(yù)ctivity時(shí)都會(huì)創(chuàng)建Activity實(shí)例,并放入任務(wù)棧中。使用場(chǎng)景:大多數(shù)Activity。

  singleTop 模式

  如果在任務(wù)的棧頂正好存在該Activity的實(shí)例,就重用該實(shí)例( 會(huì)調(diào)用實(shí)例的 onNewIntent() ),否則就會(huì)創(chuàng)建新的實(shí)例并放入棧頂,即使棧中已經(jīng)存在該Activity的實(shí)例,只要不在棧頂,都會(huì)創(chuàng)建新的實(shí)例。使用場(chǎng)景如新聞?lì)惢蛘唛喿x類App的內(nèi)容頁面。

  singleTask 模式

  如果在棧中已經(jīng)有該Activity的實(shí)例,就重用該實(shí)例(會(huì)調(diào)用實(shí)例的 onNewIntent() )。重用時(shí),會(huì)讓該實(shí)例回到棧頂,因此在它上面的實(shí)例將會(huì)被移出棧。如果棧中不存在該實(shí)例,將會(huì)創(chuàng)建新的實(shí)例放入棧中。使用場(chǎng)景如瀏覽器的主界面。不管從多少個(gè)應(yīng)用啟動(dòng)瀏覽器,只會(huì)啟動(dòng)主界面一次,其余情況都會(huì)走onNewIntent,并且會(huì)清空主界面上面的其他頁面。

  singleInstance 模式

  在一個(gè)新棧中創(chuàng)建該Activity的實(shí)例,并讓多個(gè)應(yīng)用共享該棧中的該Activity實(shí)例。一旦該模式的Activity實(shí)例已經(jīng)存在于某個(gè)棧中,任何應(yīng)用再激活該Activity時(shí)都會(huì)重用該棧中的實(shí)例( 會(huì)調(diào)用實(shí)例的 onNewIntent() )。其效果相當(dāng)于多個(gè)應(yīng)用共享一個(gè)應(yīng)用,不管誰激活該 Activity 都會(huì)進(jìn)入同一個(gè)應(yīng)用中。使用場(chǎng)景如鬧鈴提醒,將鬧鈴提醒與鬧鈴設(shè)置分離。singleInstance不要用于中間頁面,如果用于中間頁面,跳轉(zhuǎn)會(huì)有問題,比如:A -> B (singleInstance) -> C,完全退出后,在此啟動(dòng),首先打開的是B。

  5:View的繪制流程

  measure過程

  layout過程

  draw過程

  //blog.csdn.net/yanbober/article/details/46128379/

  6:Touch事件的傳遞機(jī)制

  public boolean dispatchTouchEvent(MotionEventev); //用來分派eventpublicbooleanonInterceptTouchEvent(MotionEventev);//用來攔截eventpublicbooleanonTouchEvent(MotionEventev);//用來處理event

  其中Activity和View控件(TextView)擁有分派和處理事件方法,View容器(LinearLayout)具有分派,攔截,處理事件方法。這里也有個(gè)比喻:都會(huì)把任務(wù)向下分派,一旦下面的人把事情做不好,就不會(huì)再把后續(xù)的任務(wù)交給下面的人來做了,只能自己親自做,如果自己也做不了,就只能告訴上級(jí)不能完成任務(wù),上級(jí)又會(huì)重復(fù)他的過程。另外,都有權(quán)利攔截任務(wù),對(duì)下級(jí)隱瞞該任務(wù),而直接自己去做,如果做不成,也只能向上級(jí)報(bào)告不能完成任務(wù)。

  //gold.xitu.io/entry/56af0ba0c24aa800547b60ea

  //blog.csdn.net/morgan_xww/article/details/9372285

  7:Android中的幾種動(dòng)畫

  曾被問到Android中有幾種動(dòng)畫,這個(gè)問題也好難回答。Android3.0之前有2種,3.0后有3種。

  FrameAnimation(逐幀動(dòng)畫):將多張圖片組合起來進(jìn)行播放,類似于早期電影的工作原理,很多App的loading是采用這種方式。

  TweenAnimation(補(bǔ)間動(dòng)畫):是對(duì)某個(gè)View進(jìn)行一系列的動(dòng)畫的操作,包括淡入淡出(Alpha),縮放(Scale),平移(Translate),旋轉(zhuǎn)(Rotate)四種模式。

  PropertyAnimation(屬性動(dòng)畫):屬性動(dòng)畫不再僅僅是一種視覺效果了,而是一種不斷地對(duì)值進(jìn)行操作的機(jī)制,并將值賦到指定對(duì)象的指定屬性上,可以是任意對(duì)象的任意屬性。

  //blog.csdn.net/yanbober/article/details/46481171

  8:Android中跨進(jìn)程通訊有幾種方式

  1:訪問其他應(yīng)用程序的Activity

  如調(diào)用系統(tǒng)通話應(yīng)用

  IntentcallIntent=newIntent(Intent.ACTION_CALL,Uri.parse("tel:12345678");startActivity(callIntent);

  2:Content Provider

  如訪問系統(tǒng)相冊(cè)

  3:廣播(Broadcast)

  如顯示系統(tǒng)時(shí)間

  4:AIDL服務(wù)

  9:AIDL理解

  //bbs.51cto.com/thread-1086040-1.html

  10:Handler的原理

  //blog.csdn.net/lmj623565791/article/details/38377229

  11:Binder機(jī)制原理

  //blog.csdn.net/boyupeng/article/details/47011383

  12:熱修復(fù)的原理

  1:JavaSisst

  2:AspectJ

  3:Xposef

  這里給出Xposef方案

  //mp.weixin.qq.com/s?__biz=MzA3Mjk1MjA4Nw==&mid=400452659&idx=1&sn=841b49b875ec3b307f261ed52a7d9c4e&scene=23&srcid=1119JWRt0adNwGxTHiyok460#rd

  13:設(shè)計(jì)一套圖片異步加載緩存方案

  //www.cnblogs.com/zyw-205520/p/4997863.html

  //blog.csdn.net/boyupeng/article/details/47127605

  14:Android內(nèi)存泄露及管理

  //gold.xitu.io/entry/56d64b9e816dfa005943a55c

  15:Activity與Fragment通信

  //gold.xitu.io/entry/56a87b2b2e958a0051906227

  16:Fragment的那些坑

  //www.jianshu.com/p/d9143a92ad94

  //www.jianshu.com/p/fd71d65f0ec6

  //www.jianshu.com/p/38f7994faa6b

  17:Android UI適配

  這里給出hongyang大神的方案

  //blog.csdn.net/lmj623565791/article/details/45460089

  18:布局優(yōu)化

  //www.jianshu.com/p/145fc61011cd

  19:Http Https

  //www.jianshu.com/p/93fdebe5fef1

  20:網(wǎng)絡(luò)請(qǐng)求優(yōu)化

  //www.jianshu.com/p/3141d4e46240

  21:數(shù)據(jù)庫優(yōu)化

  //www.jianshu.com/p/3b4452fc1bbd

  22:圖片優(yōu)化

  //www.jianshu.com/p/5bb8c01e2bc7

  23:HybridJAVA 與JS交互

  //droidyue.com/blog/2014/09/20/interaction-between-java-and-java-in-android/

  24:?jiǎn)卫?/strong>

  //www.jianshu.com/p/a956024629cb

  25:Java GC原理

  //www.jianshu.com/p/d75a32ac5bed?

  26:ANR

  //www.jianshu.com/p/124f3b75e164

  27:Volley

  //www.jianshu.com/p/9e17727f31a1

  28:JAVA注解反射原理

  //www.jianshu.com/p/3968ffabdf9d

  29:算法

  //www.jianshu.com/p/ae97c3ceea8d

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

  //gold.xitu.io/entry/56ebb4ad5bbb50004c440972

  31:RxJava

  //gank.io/post/560e15be2dca930e00da1083?from=timeline&isappinstalled=0#toc_1