国产精品久久久久影院老司_亚洲福利在线视频_中国女警察一级毛片视频_亚洲一区在线免费视频_久久亚洲第一_狠狠干五月

蜜蜂職場文庫 > 面試技巧 >

android面試題整理

時間: 小龍 面試技巧

  android面試中,面試官會問哪些問題呢?你都準備好了嗎?了解面試題目很有必要,以下是小編幫你們整理的android面試題整理,一起來學習啦。

  android面試題整理篇一

  1. 請介紹下android的數據存儲方式。

  SharedPreferences方式

  用來存儲”key-value paires”格式的數據,它是一個輕量級的鍵值存儲機制,只可以存儲基本數據類型,可以通過它保存一些上次用戶所做的修改操作

  文件存儲方式

  它通過FileInputStream和FileOutputStream對文件進行操作。但是在Android中,文件是一個應用程序私有的,一個應用程序無法讀寫其他應用程序的文件,如果要共享數據就用Content Providers

  SQLite數據庫方式

  Android提供的一個標準的數據庫,支持SQL語句

  內容提供器(Content provider)方式

  是所有應用程序之間數據存儲和檢索的橋梁,它的作用是使得各個應用程序之間實現數據共享

  網絡存儲方式

  通過網絡來存儲和獲取數據

  2.請介紹下ContentProvider是如何實現數據共享的。

  Android提供了ContentProvider,一個程序可以通過實現一個ContentProvider的抽象接口將自己的數據完全暴露出去,而且ContentProviders是以類似數據庫中表的方式將數據暴露,也就是說ContentProvider就像一個“數據庫”。那么外界獲取其提供的數據,也就應該與從數據庫中獲取數據的操作基本一樣,只不過是采用URI來表示外界需要訪問的“數據庫”。外部訪問通過ContentResolver去訪問并操作這些被暴露的數據。

  3.如何啟用Service,如何停用Service。

  Intent intent = new Intent();

  intent.setClass(this,cba.class);

  startService(intent);

  stopService(intent);

  4. 請解釋下在單線程模型中Message,Handler,Message Queue,Looper之間的關系。

  Message

  Message消息,理解為線程間交流的信息,處理數據后臺線程需要更新UI,則發送Message內含一些數據給UI線程。

  Handler

  Handler處理者,是Message的主要處理者,負責Message的發送,Message內容的執行處理。后臺線程就是通過傳進來的 Handler對象引用來sendMessage(Message)。而使用Handler,需要implement 該類的 handleMessage(Message)方法,它是處理這些Message的操作內容,例如Update UI。通常需要子類化Handler來實現handleMessage方法。

  Message Queue

  Message Queue消息隊列,用來存放通過Handler發布的消息,按照先進先出執行。 每個message queue都會有一個對應的Handler。Handler會向message queue通過兩種方法發送消息:sendMessage或post。這兩種消息都會插在message queue隊尾并按先進先出執行。但通過這兩種方法發送的消息執行的方式略有不同:通過sendMessage發送的是一個message對象,會被 Handler的handleMessage()函數處理;而通過post方法發送的是一個runnable對象,則會自己執行。

  Looper

  Looper是每條線程里的Message Queue的管家。Android沒有Global的Message Queue,而Android會自動替主線程(UI線程)建立Message Queue,但在子線程里并沒有建立Message Queue。所以調用Looper.getMainLooper()得到的主線程的Looper不為NULL,但調用Looper.myLooper() 得到當前線程的Looper就有可能為NULL。

  5.請解釋下Android程序運行時權限與文件系統權限的區別。

  Android程序運行 是虛擬機Dalvik( android授權)

  文件系統 是 linux 內核 授權

  android面試題整理篇二

  1、 有一個一維整型數組int[] data保存的是一張寬為width,高為height的圖片像素值信息。請寫一個算法,將該圖片所有的白色不透明(0xffffffff)像素點的透明度調整為50%。

  答:像素數組int[]data里就是一個個像素的顏色值,你循環和0xffffffff比較,如果相等,那么就把這個值換成0x88ffffff就行了,這樣像素數組里所有的白色不透明(0xffffffff)都變成的半透明

  2、 你如何評價Android系統?優缺點。

  優點:開源特性,得到眾多廠商支持。

  軟件發展很快。

  界面UI,系統優化不錯。

  缺點:版本過多,升級過快。

  用戶體驗不一致。

  3、android中的動畫有哪幾類,他們的特點和區別是什么?

  兩種,

  一種是Tween動畫(補間動畫),

  一種是Frame動畫(逐幀動畫)。

  Tween動畫:使試圖組件移動,放大,縮小以及產生透明度的變化。

  Frame動畫:傳統的動畫方法,通過順序的播放排列好的圖片來實現,類似電影。

  4、橫豎屏切換時activity的生命周期

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

  設置Activity的android:configChanges="orientation"時,切橫,豎屏時生命周期只會執行一次。

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

  進程與線程

  當一個程序開始運行時,它就是一個進程,進程包含運行中的程序和程序所使用的內存和系統資源。而一個進程又是由多個線程組成的。引入線程優點是易于調度,提供開發效率,通過線程可以方便有效的實現并發,進程可創建多個線程來執行同一個程序的不同部分,開銷小,創建線程比創建進程要快,所需開銷很少。

  android面試題整理篇三

  1、 Android dvm的進程和Linux的進程, 應用程序的進程是否為同一個概念

  DVM指dalivk的虛擬機。每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。而每一個DVM都是在Linux 中的一個進程,所以說可以認為是同一個概念。

  2、sim卡的EF 文件有何作用

  sim卡的文件系統有自己規范,主要是為了和手機通訊,sim本 身可以有自己的操作系統,EF就是作存儲并和手機通訊用的

  3、嵌入式操作系統內存管理有哪幾種, 各有何特性

  頁式,段式,段頁,用到了MMU,虛擬空間等技術

  4、 什么是嵌入式實時操作系統, Android 操作系統屬于實時操作系統嗎?

  嵌入式實時操作系統是指當外界事件或數據產生時,能夠接受并以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統作出快速響應,并控制所有實時任務協調一致運行的嵌入式操作系統。主要用于工業控制、軍事設備、航空航天等領域對系統的響應時間有苛刻的要求,這就需要使用實時系統。又可分為軟實時和硬實時兩種,而android是基于linux內核的,因此屬于軟實時。

  5、一條最長的短信息約占多少byte?

  中文70(包括標點),英文160,160個字節。

  6、 android中的動畫有哪幾類,它們的特點和區別是什么?

  兩種,一種是Tween動畫、還有一種是Frame動畫。Tween動畫,這種實現方式可以使視圖組件移動、放大、縮小以及產生透明度的變化;另一種Frame動畫,傳統的動畫方法,通過順序的播放排列好的圖片來實現,類似電影。

  7、handler機制的原理

  andriod提供了 Handler 和 Looper 來滿足線程間的通信。Handler 先進先出原則。Looper類用來管理特定線程內對象之間的消息交換(Message Exchange)。

  1)Looper: 一個線程可以產生一個Looper對象,由它來管理此線程里的Message Queue(消息隊列)。

  2)Handler: 你可以構造Handler對象來與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來的消息。

  3) Message Queue(消息隊列):用來存放線程放入的消息。

  4)線程:UI thread 通常就是main thread,而Android啟動程序時會替它建立一個Message Queue。

  8、說說mvc模式的原理,它在android中的運用

  android的官方建議應用程序的開發采用mvc模式。

  何謂mvc?

  mvc是model,view,controller的縮寫,mvc包含三個部分:

  l模型(model)對象:是應用程序的主體部分,所有的業務邏輯都應該寫在該層。

  l視圖(view)對象:是應用程序中負責生成用戶界面的部分。也是在整個mvc架構中用戶唯一可以看到的一層,接收用戶的輸入,顯示處理結果。

  l控制器(control)對象:是根據用戶的輸入,控制用戶界面數據顯示及更新model對象狀態的部分,控制器更重要的一種導航功能,想用用戶出發的相關事件,交給m哦得了處理。

  android鼓勵弱耦合和組件的重用,在android中mvc的具體體現如下:

  1)視圖層(view):一般采用xml文件進行界面的描述,使用的時候可以非常方便的引入,當然,如何你對android了解的比較的多了話,就一定可以想到在android中也可以使用javascript+html等的方式作為view層,當然這里需要進行java和javascript之間的通信,幸運的是,android提供了它們之間非常方便的通信實現。

  2)控制層(controller):android的控制層的重任通常落在了眾多的acitvity的肩上,這句話也就暗含了不要在acitivity中寫代碼,要通過activity交割model業務邏輯層處理,這樣做的另外一個原因是android中的acitivity的響應時間是5s,如果耗時的操作放在這里,程序就很容易被回收掉。

  3)模型層(model):對數據庫的操作、對網絡等的操作都應該在model里面處理,當然對業務計算等操作也是必須放在的該層的。

  
看了“android面試題整理”的人還看過:

1.

2.

3.

4.

5.

50353 主站蜘蛛池模板: 精品久久久一二三区播放播放播放视频 | 午夜影院在线免费观看 | 国产精品色在线网站 | 亚洲精品午夜在线 | 亚洲天堂ww | 欧美一区成人 | 成人免费在线网 | 日韩在线播放中文字幕 | 久久综合精品视频 | 99爱精品在线 | 中午日产幕无线码1区 | av在线免费看网站 | 中文日韩| 国产1区2区3区中文字幕 | 国产精品成人亚洲一区二区 | 国产精品免费久久久久久 | 国产成年人在线观看 | va毛片 | 欧美日韩高清一区二区三区 | 久久精品久久精品国产大片 | 精品亚洲夜色av98在线观看 | 精品国产91久久久久久浪潮蜜月 | 成人免费看毛片 | 欧美69free性videos | 青青草华人在线 | 欧美成人午夜一区二区三区 | 婷婷久久综合九色综合色多多蜜臀 | 久久精品视频一区二区三区 | 成人福利软件 | 精品一区在线视频 | 舌头伸进添的我好爽高潮网站 | hd性videos意大利复古 | 草妞视频 | av91肉丝一区二区电影 | 九九午夜 | 亚洲欧美aⅴ| 国产精品久久久久久久久久了 | 夏目友人帐第七季第一集 | 久久草草影视免费网 | 黄色a级片视频 | 国产啊v在线观看 |