百度 Android 開發(fā)程序員兩輪面試之第一輪部分問題答案:
1、MVP 模式的優(yōu)缺點(diǎn)?
MVP 模式優(yōu)點(diǎn):
- 降低耦合度
- 模塊職責(zé)劃分明顯
- 利于測試驅(qū)動(dòng)開發(fā)
- 代碼復(fù)用
- 隱藏?cái)?shù)據(jù)
- 代碼靈活性
MVP模式缺點(diǎn):
由于對(duì)視圖的渲染放在了 Presenter 中,所以視圖和 Presenter 的交互會(huì)過于頻繁。還有一點(diǎn)需要明白,如果 Presenter 過多地渲染了視圖,往往會(huì)使得它與特定的視圖的聯(lián)系過于緊密。一旦視圖需要變更,那么 Presenter 也需要變更了
2、怎么讓在啟動(dòng)一個(gè) Activity 是就啟動(dòng)一個(gè) service?
首先定義好一個(gè) service,然后在 activity 的 onCreate 里面進(jìn)行連接并 bindservice 或者直接 startService。
3、說說 Activity,Intent,Service 是什么關(guān)系 ?
一個(gè) Activity 通常是一個(gè)單獨(dú)的屏幕,每一個(gè) Activity 都被實(shí)現(xiàn)為一個(gè)單獨(dú)的類,這些類都是從 Activity 基類中繼承來的,Activity 類會(huì)顯示由視圖控件組成的用戶接口,并對(duì)視圖控 件的事件做出響應(yīng)。
- Intent 的調(diào)用是用來進(jìn)行架構(gòu)屏幕之間的切換的。
- Intent 是描述應(yīng)用想要做什么。
- Intent 數(shù)據(jù)結(jié)構(gòu)中兩個(gè)最重要的部分是動(dòng)作和動(dòng)作 對(duì)應(yīng)的數(shù)據(jù),一個(gè)動(dòng)作對(duì)應(yīng)一個(gè)動(dòng)作數(shù)據(jù)。
Android Service 是運(yùn)行在后臺(tái)的代碼,不能與用戶交互,可以運(yùn)行在自己的進(jìn)程,也可以 運(yùn)行在其他應(yīng)用程序進(jìn)程的上下文里。需要通過某一個(gè) Activity 或者其他 Context 對(duì)象來調(diào) 用。
Activity 跳轉(zhuǎn)到 Activity,Activity 啟動(dòng) Service,Service 打開 Activity。都需要 Intent 表明跳轉(zhuǎn) 的意圖,以及傳遞參數(shù),Intent 是這些組件間信號(hào)傳遞的承載者。