App下載

百度Android開(kāi)發(fā)程序員兩輪面試部分答案

猿友 2017-10-19 19:09:21 瀏覽數(shù) (5616)
反饋

百度 Android 開(kāi)發(fā)程序員兩輪面試之第一輪部分問(wèn)題答案:


1、MVP 模式的優(yōu)缺點(diǎn)?


MVP 模式優(yōu)點(diǎn):

  1. 降低耦合度
  2. 模塊職責(zé)劃分明顯
  3. 利于測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
  4. 代碼復(fù)用
  5. 隱藏?cái)?shù)據(jù)
  6. 代碼靈活性

MVP模式缺點(diǎn):

由于對(duì)視圖的渲染放在了 Presenter 中,所以視圖和 Presenter 的交互會(huì)過(guò)于頻繁。還有一點(diǎn)需要明白,如果 Presenter 過(guò)多地渲染了視圖,往往會(huì)使得它與特定的視圖的聯(lián)系過(guò)于緊密。一旦視圖需要變更,那么 Presenter 也需要變更了


2、怎么讓在啟動(dòng)一個(gè) Activity 是就啟動(dòng)一個(gè) service?


首先定義好一個(gè) service,然后在 activity 的 onCreate 里面進(jìn)行連接并 bindservice 或者直接 startService。


3、說(shuō)說(shuō) Activity,Intent,Service 是什么關(guān)系 ?


一個(gè) Activity 通常是一個(gè)單獨(dú)的屏幕,每一個(gè) Activity 都被實(shí)現(xiàn)為一個(gè)單獨(dú)的類,這些類都是從 Activity 基類中繼承來(lái)的,Activity 類會(huì)顯示由視圖控件組成的用戶接口,并對(duì)視圖控 件的事件做出響應(yīng)。

  • Intent 的調(diào)用是用來(lái)進(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)程的上下文里。需要通過(guò)某一個(gè) Activity 或者其他 Context 對(duì)象來(lái)調(diào) 用。

Activity 跳轉(zhuǎn)到 Activity,Activity 啟動(dòng) Service,Service 打開(kāi) Activity。都需要 Intent 表明跳轉(zhuǎn) 的意圖,以及傳遞參數(shù),Intent 是這些組件間信號(hào)傳遞的承載者。


0 人點(diǎn)贊