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