91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android面試常問七道題是什么

發布時間:2022-01-12 14:43:12 來源:億速云 閱讀:158 作者:iii 欄目:大數據

這篇文章主要介紹了Android面試常問七道題是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Android面試常問七道題是什么文章都會有所收獲,下面我們一起來看看吧。

1、Android的四大組件以及作用

Activity:Activity是Android程序與用戶交互的窗口,是Android構造塊中最基本的一種,它需要為保持各界面的狀態,做很多持久化的事情,妥善管理生命周期以及一些跳轉邏輯。

service:后臺服務于Activity,封裝有一個完整的功能邏輯實現,接受上層指令,完成相關的動作,定義好需要接受的Intent提供同步和異步的接口。

Content Provider:是Android提供的第三方應用數據的訪問方案,對外提供數據,屏蔽內部數據的存儲細節,向外提供統一的借口模型,大大簡化上層應用對數據的整合提供了更方便的途徑。

BroadCast Receiver:接受一種或者多種Intent作觸發事件,接受相關消息,做一些簡單處理,轉換成一條Notification,統一了Android的事件廣播模型。

2、描述下Activity的生命周期?

Activity的生命周期方法有:onCreate()、onStart()、onReStart()、onResume()、onPause()、onStop()、onDestory();

可見生命周期:從onStart()直到系統調用onStop()

前臺生命周期:從onResume()直到系統調用onPause()

屏幕旋轉時的Activity生命周期:

不設置Activity的android:configChanges時,切屏會重新調用各個生命周期,切橫屏時會執行一次,切豎屏時會執行兩次;

設置Activity的android:configChanges="orientation"時,切屏還是會重新調用各個生命周期,切橫、豎屏時只會執行一次;

設置Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged方法。

3、ListView優化有哪幾種方式?

1)ListView中item的布局至關重要,必須盡可能的減少使用的控件,布局。

2)RelativeLayout是絕對的利器,通過它可以減少布局的層次。

3)同時要盡可能的復用控件,這樣可以減少ListView的內存使用,減少滑動時GC次數。

4)ListView的背景色與cacheColorHint設置相同顏色,可以提高滑動時的渲染性能。

5)getView方法中不能做復雜的邏輯計算,特別是數據庫操作,否則會嚴重影響滑動時的性能。

4、解釋下Handler的運行機制?

Message,理解為線程間交流的信息

Handler,是Message的主要處理者,負責Message的發送和執行處理

Message Queue,用來存放通過Handler發布的消息,按照先進先出執行

Looper ,是每條線程里的Message Queue的管家

Handler一般在主線程中創建,子線程通過處理器對象的sendMessage發消息到

MessageQueue(消息隊列)里,主線程中已經包含了一個Looper(輪循器),Looper是死循環的,會一直輪詢消息隊列,看是否有Message(消息) ,如果有,輪詢器會把消息對象傳給Handler(消息處理器),然后調用handlerMessage處理該消息,進而更新UI。

5、什么是ANR?如何避免ANR異常?

ANR:Application Not Responding。在Android中,活動管理器和窗口管理器這兩個系統服務負責監視應用程序的響應,當用戶操作的在5s內應用程序沒能做出反應,BroadcastReceiver在10秒內沒有執行完畢,就會出現應用程序無響應對話框,就是ANR。

避免方法:Activity應該在它的關鍵生命周期方法(如onCreate()和onResume())里盡可能少的去做創建操作。潛在的耗時操作,例如網絡或數據庫操作,或者高耗時的計算如改變位圖尺寸,應該在子線程里(或者異步方式)來完成。主線程應該為子線程提供一個Handler,以便完成時能夠提交給主線程。

6、Android中三種動畫,特點和區別是什么?

Android 中的動畫有幀動畫,補間動畫,屬性動畫。

幀動畫:一張張圖片不斷的切換,形成動畫效果,類似小時候的電影。很多應用的loading是采用這種方式。

補間動畫:是對某個View進行一系列的動畫的操作,包括淡入淡出(Alpha),縮放(Scale),平移(Translate),旋轉(Rotate)四種模式。

屬性動畫:屬性動畫不再僅僅是一種視覺效果了,而是一種不斷地對值進行操作的機制,并將值賦到指定對象的指定屬性上,可以是任意對象的任意屬性。

7、注冊廣播有幾種方式,有何優缺點?

第一種:在清單文件中聲明,添加

<receive android:name=".IncomingSMSReceiver " >
<intent-filter>
   <action android:name="android.provider.Telephony.SMS_RECEIVED")
<intent-filter>
<receiver>

第二種使用代碼進行注冊:

IntentFilter filter =  new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
IncomingSMSReceiver receiver = new IncomgSMSReceiver();
registerReceiver(receiver.filter);

兩種注冊類型的區別是:

1)第一種不是常駐型廣播,也就是說廣播跟隨程序的生命周期。

2)第二種是常駐型,也就是說當應用程序關閉后,如果有信息廣播來,程序也會被系統調用自動運行。

關于“Android面試常問七道題是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Android面試常問七道題是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雅江县| 芦山县| 大丰市| 昌吉市| 黄石市| 商水县| 林州市| 临朐县| 肇州县| 阜康市| 长葛市| 道孚县| 翁牛特旗| 金阳县| 开鲁县| 陆良县| 福清市| 巢湖市| 南江县| 正宁县| 黔南| 兰溪市| 滁州市| 安仁县| 扶绥县| 高阳县| 瑞金市| 河南省| 仁寿县| 剑阁县| 徐闻县| 隆回县| 中牟县| 柳河县| 专栏| 南和县| 福泉市| 平武县| 灌南县| 唐海县| 红河县|