午夜精品福利视频,亚洲激情专区,免费看a网站,aa毛片,亚洲色图激情小说,亚洲一级毛片,免费一级毛片一级毛片aa

android面試題(3)

時間:2024-07-12 21:36:06 學(xué)人智庫 我要投稿
  • 相關(guān)推薦

android面試題(3)

  需要注意的是如果這幾個方法交織在一起的話,會出現(xiàn)什么情況呢?

android面試題(3)

  一個原則是Service的onCreate的方法只會被調(diào)用一次,就是你無論多少次的startService又bindService,Service只被創(chuàng)建一次。

  如果先是bind了,那么start的時候就直接運(yùn)行Service的onStart方法,如果先是start,那么bind的時候就直接運(yùn)行onBind方法。

  如果service運(yùn)行期間調(diào)用了bindService,這時候再調(diào)用stopService的話,service是不會調(diào)用onDestroy方法的,service就stop不掉了,只能調(diào)用UnbindService, service就會被銷毀

  如果一個service通過startService 被start之后,多次調(diào)用startService 的話,service會多次調(diào)用onStart方法。多次調(diào)用stopService的話,service只會調(diào)用一次onDestroyed方法。

  如果一個service通過bindService被start之后,多次調(diào)用bindService的話,service只會調(diào)用一次onBind方法。

  多次調(diào)用unbindService的話會拋出異常。

  15. 不用service,B頁面為音樂播放,從A跳轉(zhuǎn)到B,再返回,如何使音樂繼續(xù)播放?

  這個問題問的很山寨.默認(rèn)不做任何處理,B里面的音樂都能播放.

  遇到問題, 可以隨機(jī)應(yīng)變,靈活發(fā)揮,多考慮些細(xì)節(jié),比如說這個題就可以這樣說,說說你對startActivityForResult的理解()

  A開啟B的時候,用startActivityForResult()方法, B返回的時候把播放的狀態(tài)信息返回給A ,A繼續(xù)播放音樂.

  16. 什么是IntentService?有何優(yōu)點?

  普通的service ,默認(rèn)運(yùn)行在ui main 主線程

  Sdk給我們提供的方便的,帶有異步處理的service類,

  異步處理的方法 OnHandleIntent()

  OnHandleIntent() 處理耗時的操作

  17. 什么時候使用Service?

  擁有service的進(jìn)程具有較高的優(yōu)先級

  官方文檔告訴我們,Android系統(tǒng)會盡量保持擁有service的進(jìn)程運(yùn)行,只要在該service已經(jīng)被啟動(start)或者客戶端連接(bindService)到它。當(dāng)內(nèi)存不足時,需要保持,擁有service的進(jìn)程具有較高的優(yōu)先級。

  1. 如果service正在調(diào)用onCreate, onStartCommand或者onDestory方法,那么用于當(dāng)前service的進(jìn)程相當(dāng)于前臺進(jìn)程以避免被killed。

  2. 如果當(dāng)前service已經(jīng)被啟動(start),擁有它的進(jìn)程則比那些用戶可見的進(jìn)程優(yōu)先級低一些,但是比那些不可見的進(jìn)程更重要,這就意味著service一般不會被killed.

  3. 如果客戶端已經(jīng)連接到service (bindService),那么擁有Service的進(jìn)程則擁有最高的優(yōu)先級,可以認(rèn)為service是可見的。

  4. 如果service可以使用startForeground(true)方法來將service設(shè)置為前臺狀態(tài),那么系統(tǒng)就認(rèn)為是對用戶可見的,并不會在內(nèi)存不足時killed。

  如果有其他的應(yīng)用組件作為Service,Activity等運(yùn)行在相同的進(jìn)程中,那么將會增加該進(jìn)程的重要性。

  1.Service的特點可以讓他在后臺一直運(yùn)行,可以在service里面創(chuàng)建線程去完成耗時的操作. 天氣預(yù)報 widget TimerTask Timer 定期執(zhí)行timertask

  2.Broadcast receiver捕獲到一個事件之后,可以起一個service來完成一個耗時的操作.

  Broadcast receiver生命周期 和 響應(yīng)時間很短

  3.遠(yuǎn)程的service如果被啟動起來,可以被多次bind, 但不會重新create. 索愛手機(jī)X10i的人臉識別的service可以被圖庫使用,可以被攝像機(jī),照相機(jī)等程序使用.

  18. 請描述一下Intent 和 Intent Filter。

  Android 中通過 Intent 對象來表示一條消息,一個 Intent 對象不僅包含有這個消息的目的地,還可以包含消息的內(nèi)容,這好比一封 Email,其中不僅應(yīng)該包含收件地址,還可以包含具體的內(nèi)容。對于一個 Intent 對象,消息“目的地”是必須的,而內(nèi)容則是可選項。

  通過Intent 可以實現(xiàn)各種系統(tǒng)組件的調(diào)用與激活.

  Intent filter: 可以理解為郵局或者是一個信箋的分揀系統(tǒng)…

  這個分揀系統(tǒng)通過3個參數(shù)來識別

  Action: 動作 view

  Data: 數(shù)據(jù)uri uri

  Category : 而外的附加信息

  Action 匹配

  Action 是一個用戶定義的字符串,用于描述一個 Android 應(yīng)用程序組件,一個 Intent Filter 可以包含多個 Action。在 AndroidManifest.xml 的 Activity 定義時可以在其 節(jié)點指定一個 Action 列表用于標(biāo)示 Activity 所能接受的“動作”,例如:

  ……

  如果我們在啟動一個 Activity 時使用這樣的 Intent 對象:

  Intent intent =new Intent();

  intent.setAction("cn.itcast.action");

  那么所有的 Action 列表中包含了“cn.itcast”的 Activity 都將會匹配成功。

  Android 預(yù)定義了一系列的 Action 分別表示特定的系統(tǒng)動作。這些 Action 通過常量的方式定義在 android.content. Intent中,以“ACTION_”開頭。我們可以在 Android 提供的文檔中找到它們的詳細(xì)說明。

  URI 數(shù)據(jù)匹配

  一個 Intent 可以通過 URI 攜帶外部數(shù)據(jù)給目標(biāo)組件。在 節(jié)點中,通過 節(jié)點匹配外部數(shù)據(jù)。

  mimeType 屬性指定攜帶外部數(shù)據(jù)的數(shù)據(jù)類型,scheme 指定協(xié)議,host、port、path 指定數(shù)據(jù)的位置、端口、和路徑。如下:

  android:host="host" android:port="port" android:path="path"/>

  電話的uri tel: 12345

  http://www.baidu.com

  自己定義的uri itcast://cn.itcast/person/10

  如果在 Intent Filter 中指定了這些屬性,那么只有所有的屬性都匹配成功時 URI 數(shù)據(jù)匹配才會成功。

  Category 類別匹配

  節(jié)點中可以為組件定義一個 Category 類別列表,當(dāng) Intent 中包含這個列表的所有項目時 Category 類別匹配才會成功。

  默認(rèn)是DEFAULT

【android面試題(3)】相關(guān)文章:

android面試題目09-08

Android工程師的面試題08-07

Android工程師面試題10-24

關(guān)于Android工程師面試題09-19

Microsoft面試題09-04

iOS面試題07-10

公司面試題09-12

hibernate面試題10-18

英語面試題精選06-13

小升初面試題06-10