Android 面試題總結(jié)

1.Android四大組件以及作用说敏?鸥跟??

?? ? ? Activity:Activity是Android程序與用戶實(shí)現(xiàn)交互的窗口盔沫,是Android中最重要的一中医咨,它需要保存各界面的狀態(tài),做很多持久化的事情架诞。 ? ? ? ?

????????Service:運(yùn)行與后臺(tái)服務(wù)于Activity拟淮,定義好接受的Intent提供同步和異步的接口。? ?

? ????? Content Provider:? ?

? ????? BroadCast Receiver:

2.Android中常用的五中布局谴忧?惩歉??

? ??????FrameLayout: 框架布局? ? ? ? ? ? ? ? ?LinearLayout:線性布局 ? ? ????

????????AbsolueLayout:絕對(duì)布局? ? ? ? ? ? ? ? RelativeLayout:相對(duì)布局? ? ????

????????TableLayout:表格布局?


3.Android 中動(dòng)畫有哪幾類俏蛮?撑蚌??它們的特點(diǎn)和區(qū)別是什么搏屑?争涌??

? ? ?????兩類辣恋,一類是Tween動(dòng)畫亮垫、另一類是Frame動(dòng)畫。 ? ? ? ?

????????Tween動(dòng)畫伟骨,實(shí)現(xiàn)方式可以使視圖組件移動(dòng)饮潦、放大、縮小以及產(chǎn)生透明度的變化携狭。? ? ? ?

????????Frame動(dòng)畫继蜡,通過一定的順序來播放一組圖片,(如gif圖)。?


4.Android中Listview優(yōu)化方案稀并?厨剪?宪肖?

? ??????如果是自定義適配器,那么在getView方法中考慮傳進(jìn)來額參數(shù)contenView是否為null谬擦,如果不為null則直接使用罩句,盡量減少view的創(chuàng)建履磨。 ???????

?????????給contentView設(shè)置tag(setTag())联四,傳入viewHolaer對(duì)象凯肋,用于緩存要顯示的數(shù)據(jù),可以達(dá)到圖像數(shù)據(jù)的異步加載蝙场。? ? ? ?

????????如果Listview需要顯示的item比較多時(shí)凌停,就要考慮數(shù)據(jù)的分頁加載,根據(jù)需求去對(duì)應(yīng)加載數(shù)據(jù)李丰。?

5.ArrayList與LinkedList的區(qū)別和適用場景???

Arraylist:

????????優(yōu)點(diǎn):ArrayList是實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),因?yàn)榈刂愤B續(xù),一旦數(shù)據(jù)存儲(chǔ)好了逼泣,查詢操作效率會(huì)比較高(在內(nèi)存里是連著放的)趴泌。

????????缺點(diǎn):因?yàn)榈刂愤B續(xù), ArrayList要移動(dòng)數(shù)據(jù),所以插入和刪除操作效率比較低拉庶。

LinkedList:

????????優(yōu)點(diǎn):LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu),地址是任意的嗜憔,所以在開辟內(nèi)存空間的時(shí)候不需要等一個(gè)連續(xù)的地址,對(duì)于新增和刪除操作add和remove氏仗,LinedList比較占優(yōu)勢(shì)吉捶。LinkedList 適用于要頭尾操作或插入指定位置的場景。

????????缺點(diǎn):因?yàn)長inkedList要移動(dòng)指針,所以查詢操作性能比較低皆尔。

適用場景分析: 當(dāng)需要對(duì)數(shù)據(jù)進(jìn)行對(duì)此訪問的情況下選用ArrayList呐舔,當(dāng)需要對(duì)數(shù)據(jù)進(jìn)行多次增加刪除修改時(shí)采用LinkedList。

6.View的繪制流程???

View的繪制流程:OnMeasure()——>OnLayout()——>OnDraw()

各步驟的主要工作:

OnMeasure():

????????測(cè)量視圖大小慷蠕。從頂層父View到子View遞歸調(diào)用measure方法珊拼,measure方法又回調(diào)OnMeasure。 OnLayout():

????????確定View位置流炕,進(jìn)行頁面布局澎现。從頂層父View向子View的遞歸調(diào)用view.layout方法的過程,即父View根據(jù)上一步measure子View所得到的布局大小和布局參數(shù)每辟,將子View放在合適的位置上剑辫。

OnDraw():

????????繪制視圖:ViewRoot創(chuàng)建一個(gè)Canvas對(duì)象,然后調(diào)用OnDraw()渠欺。六個(gè)步驟:①妹蔽、繪制視圖的背景;②、保存畫布的圖層(Layer)讹开;③盅视、繪制View的內(nèi)容;④旦万、繪制View子視圖闹击,如果沒有就不用;⑤成艘、還原圖層(Layer)赏半;⑥、繪制滾動(dòng)條淆两。

?7.activity的生命周期断箫??秋冰?


Activity生命周期方法主要有onCreate()仲义、onStart()、onResume()剑勾、onPause()埃撵、onStop()、onDestroy()和onRestart()方法虽另。

啟動(dòng)一個(gè)A Activity暂刘,分別執(zhí)行onCreate()、onStart()捂刺、onResume()方法谣拣。

從A Activity打開B Activity分別執(zhí)行A onPause()、B onCreate()族展、B onStart()森缠、B onResume()、A onStop()方法仪缸。

關(guān)閉B Activity辅鲸,分別執(zhí)行B onPause()、A onRestart()腹殿、A onStart()独悴、A onResume()、B onStop()锣尉、B onDestroy()方法刻炒。

橫豎屏切換A Activity,清單文件中不設(shè)置android:configChanges屬性時(shí)自沧,先銷毀onPause()坟奥、onStop()树瞭、onDestroy()再重新創(chuàng)建onCreate()、onStart()爱谁、onResume()方法晒喷,設(shè)置orientation|screenSize(一定要同時(shí)出現(xiàn))屬性值時(shí),不走生命周期方法访敌,只會(huì)執(zhí)行onConfigurationChanged()方法凉敲。

Activity之間的切換可以看出onPause()、onStop()這兩個(gè)方法比較特殊寺旺,切換的時(shí)候onPause()方法不要加入太多耗時(shí)操作否則會(huì)影響體驗(yàn)爷抓。

8.android的數(shù)據(jù)存儲(chǔ)?阻塑?蓝撇?

????????使用SharedPreferences存儲(chǔ)數(shù)據(jù);它是Android提供的用來存儲(chǔ)一些簡單配置信息的一種機(jī)制陈莽,采用了XML格式將數(shù)據(jù)存儲(chǔ)到設(shè)備中渤昌。只能在同一個(gè)包內(nèi)使用,不能在不同的包之間使用走搁。

????????文件存儲(chǔ)數(shù)據(jù)独柑;文件存儲(chǔ)方式是一種較常用的方法,在Android中讀取/寫入文件的方法朱盐,與Java中實(shí)現(xiàn)I/O的程序是完全一樣的群嗤,提供了openFileInput()和openFileOutput()方法來讀取設(shè)備上的文件菠隆。

????????SQLite數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)兵琳;SQLite是Android所帶的一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫,它支持SQL語句骇径,它是一個(gè)輕量級(jí)的嵌入式數(shù)據(jù)庫躯肌。

????????使用ContentProvider存儲(chǔ)數(shù)據(jù);主要用于應(yīng)用程序之間進(jìn)行數(shù)據(jù)交換破衔,從而能夠讓其他的應(yīng)用保存或讀取此Content Provider的各種數(shù)據(jù)類型清女。

????????網(wǎng)絡(luò)存儲(chǔ)數(shù)據(jù);通過網(wǎng)絡(luò)上提供給我們的存儲(chǔ)空間來上傳(存儲(chǔ))和下載(獲取)我們存儲(chǔ)在網(wǎng)絡(luò)空間中的數(shù)據(jù)信息晰筛。

9.Activity啟動(dòng)模式嫡丙??读第?

????????standard:標(biāo)準(zhǔn)模式曙博,也是系統(tǒng)默認(rèn)的啟動(dòng)模式。假如 activity A 啟動(dòng)了 activity B 怜瞒, activity B 則會(huì)運(yùn)行在 activity A 所在的任務(wù)棧中父泳。而且每次啟動(dòng)一個(gè) Activity ,都會(huì)重新創(chuàng)建新的實(shí)例,不管這個(gè)實(shí)例在任務(wù)中是否已經(jīng)存在惠窄。

?????????singleTop:棧頂復(fù)用模式蒸眠。假如 activity A 啟動(dòng)了 activity B ,就會(huì)判斷 A 所在的任務(wù)棧棧頂是否是 B 的實(shí)例杆融。如果是楞卡,則不創(chuàng)建新的 activity B 實(shí)例而是直接引用這個(gè)棧頂實(shí)例,同時(shí) onNewIntent 方法會(huì)被回調(diào)擒贸,通過該方法的參數(shù)可以取得當(dāng)前請(qǐng)求的信息臀晃;如果不是,則創(chuàng)建新的 activity B 實(shí)例介劫。

????????singleTask:棧內(nèi)復(fù)用模式徽惋。在第一次啟動(dòng)這個(gè) Activity 時(shí),系統(tǒng)便會(huì)創(chuàng)建一個(gè)新的任務(wù)座韵,并且初始化 Activity 的實(shí)例险绘,放在新任務(wù)的底部。不過需要滿足一定條件的誉碴。那就是需要設(shè)置 taskAffinity 屬性宦棺。

????????singleInstance:單實(shí)例模式。這個(gè)是 singleTask 模式的加強(qiáng)版黔帕,它除了具有 singleTask 模式的所有特性外代咸,它還有一點(diǎn)獨(dú)特的特性,那就是此模式的 Activity 只能單獨(dú)地位于一個(gè)任務(wù)棧成黄,不與其他 Activity 共存于同一個(gè)任務(wù)棧呐芥。

10.廣播注冊(cè)?奋岁?思瘟?

????????首先寫一個(gè)類要繼承BroadCastReceiver

????????第一種:在清單文件中聲明,添加 第二種:使用代碼進(jìn)行注冊(cè)如:

<receive android :name ="BroadCastReceiverDemo">

? ? <intent-filter>

? ? ? ? <action android:name="android.provider.Telephony.SMS_RECEIVED">

? ? </intent-filter>

</receiver>

????????第二種:使用代碼進(jìn)行注冊(cè)如:

IntentFilter filter = new? ? IntentFilter("android.provider.Telephony.SMS_RECEIVED");

BroadCastReceiverDemo receiver = new BroadCastReceiver();

registerReceiver(receiver, filter);

????????兩種注冊(cè)類型的區(qū)別是:

第一種是常駐型廣播闻伶,也就是說當(dāng)應(yīng)用程序關(guān)閉后滨攻,如果有信息廣播來,程序也會(huì)被系統(tǒng)調(diào)用自動(dòng)運(yùn)行蓝翰。

第二種不是常駐廣播光绕,也就是說廣播跟隨程序的生命周期。?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畜份,一起剝皮案震驚了整個(gè)濱河市诞帐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漂坏,老刑警劉巖景埃,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件媒至,死亡現(xiàn)場離奇詭異,居然都是意外死亡谷徙,警方通過查閱死者的電腦和手機(jī)拒啰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來完慧,“玉大人谋旦,你說我怎么就攤上這事∏幔” “怎么了册着?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長脾歧。 經(jīng)常有香客問我甲捏,道長,這世上最難降的妖魔是什么鞭执? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任司顿,我火速辦了婚禮,結(jié)果婚禮上兄纺,老公的妹妹穿的比我還像新娘大溜。我一直安慰自己,他們只是感情好估脆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布钦奋。 她就那樣靜靜地躺著,像睡著了一般疙赠。 火紅的嫁衣襯著肌膚如雪付材。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天棺聊,我揣著相機(jī)與錄音伞租,去河邊找鬼贞谓。 笑死限佩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的裸弦。 我是一名探鬼主播祟同,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼理疙!你這毒婦竟也來了晕城?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤窖贤,失蹤者是張志新(化名)和其女友劉穎砖顷,沒想到半個(gè)月后贰锁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滤蝠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年豌熄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片物咳。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锣险,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出览闰,到底是詐尸還是另有隱情芯肤,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布压鉴,位于F島的核電站崖咨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏油吭。R本人自食惡果不足惜掩幢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望上鞠。 院中可真熱鬧际邻,春花似錦、人聲如沸芍阎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谴咸。三九已至轮听,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岭佳,已是汗流浹背血巍。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留珊随,地道東北人述寡。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像叶洞,于是被迫代替她去往敵國和親鲫凶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,133評(píng)論 25 707
  • 原文鏈接:http://mp.weixin.qq.com/s/EeoSKLcXlAlFCoRJFCBx7Q 一衩辟、A...
    吾乃韓小呆閱讀 1,445評(píng)論 0 0
  • 又一個(gè)明媚的早晨 開車搖晃在公路上 車窗外飄來青草的芬芳 路旁的蒲公英像美麗的少女 沉默不語 當(dāng)微風(fēng)吹起 隨風(fēng)飄散...
    SuRiNa_e660閱讀 286評(píng)論 0 0
  • 桜の歌が街に流れあっと言う間だった別れの日校舎の壁のその片隅みんなでこっそり寄せ書きした 制服はもう脫ぐんだ春の風(fēng)...
    binarystar閱讀 2,296評(píng)論 0 0
  • 第一個(gè)三美當(dāng)然指人:一美歡喜螟炫,二美小野,三美兔姐姐艺晴。 第二個(gè)三美: 一美在聚會(huì)方式:此次聚會(huì)歡喜傾情做東道主昼钻,在家...
    Rabbit622閱讀 365評(píng)論 3 1