android軟件測試面試題及答案
android軟件測試面試者在面試中,要學會做好面試準備很重要,你了解面試題及答案了嗎?下面小編已經為你們整理了android軟件測試面試題及答案,希望可以幫到你。
android軟件測試面試題及答案(一)
1、 Android的四大組件是哪些,它們的作用?
答:Activity:Activity是Android程序與用戶交互的窗口,是Android構造塊中最基本的一種,它需要為保持各界面的狀態,做很多持久化的事情,妥善管理生命周期以及一些跳轉邏輯
service:后臺服務于Activity,封裝有一個完整的功能邏輯實現,接受上層指令,完成相關的食物,定義好需要接受的Intent提供同步和異步的接口
Content Provider:是Android提供的第三方應用數據的訪問方案,可以派生Content
Provider類,對外提供數據,可以像數據庫一樣進行選擇排序,屏蔽內部數據的存儲細節,向外提供統一的借口模型,大大簡化上層應用,對數據的整合提供了更方便的途徑
BroadCast Receiver:接受一種或者多種Intent作觸發事件,接受相關消息,做一些簡單處理,轉換成一條Notification,統一了Android的事件廣播模型
2、 請介紹下Android中常用的五種布局。
常用五種布局方式,分別是:FrameLayout(框架布局),LinearLayout (線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局)。
一、FrameLayout:所有東西依次都放在左上角,會重疊,這個布局比較簡單,也只能放一點比較簡單的東西。
二、LinearLayout:線性布局,每一個LinearLayout里面又可分為垂直布局
(android:orientation=”vertical”)和水平布局(android:orientation=”horizontal” )。當垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;水平布局時,只有一行,每一個元素依次向右排列。
三、AbsoluteLayout:絕對布局用X,Y坐標來指定元素的位置,這種布局方式也比較簡單,但是在屏幕旋轉時,往往會出問題,而且多個元素的時候,計算比較麻煩。
四、RelativeLayout:相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:相對于某一個元素android:layout_below、 android:layout_toLeftOf相對于父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;
五、TableLayout:表格布局,每一個TableLayout里面有表格行TableRow,TableRow里面可以具體定義每一個元素。每一個布局都有自己適合的方式,這五個布局元素可以相互嵌套應用,做出美觀的界面。
android軟件測試面試題及答案(二)
1、 android中的動畫有哪幾類,它們的特點和區別是什么
答:兩種,一種是Tween動畫、還有一種是Frame動畫。
Tween動畫,這種實現方式可以使視圖組件移動、放大、縮小以及產生透明度的變化; 另一種Frame動畫,傳統的動畫方法,通過順序的播放排列好的圖片來實現,類似電影。
2、 android 中有哪幾種解析xml的類?官方推薦哪種?以及它們的原理和區別。
答:XML解析主要有三種方式,SAX、DOM、PULL。常規在PC上開發我們使用Dom相對輕松些,但一些性能敏感的數據庫或手機上還是主要采用SAX方式,SAX讀取是單向的,優點:不占內存空間、解析屬性方便,但缺點就是對于套嵌多個分支來說處理不是很方便。而DOM方式會把整個XML文件加載到內存中去,這里Android開發網提醒大家該方法在查找方面可以和XPath很好的結合如果數據量不是很大推薦使用,而PULL常常用在J2ME對于節點處理比較好,類似SAX方式,同樣很節省內存,在J2ME中我們經常使用的KXML庫來解析。
3、 ListView的優化方案
答:01、如果自定義適配器,那么在getView方法中要考慮方法傳進來的參數contentView是否為null,如果為null就創建contentView并返回,如果不為null則直接使用。在這個方法中盡可能少創建view。
02、給contentView設置tag(setTag()),傳入一個viewHolder對象,用于緩存要顯示的數據,可以達到圖像數據異步加載的效果。
03、如果listview需要顯示的item很多,就要考慮分頁加載。比如一共要顯示100條或者更多的時候,我們可以考慮先加載20條,等用戶拉到列表底部的時候再去加載接下來的20條。
android軟件測試面試題及答案(三)
1. Intent的幾種有關Activity啟動的方式有哪些,你了解每個含義嗎
這里Android123提示大家,Intent的一些標記有
FLAG_ACTIVITY_BROUGHT_TO_FRONT、FLAG_ACTIVITY_CLEAR_TOP、FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS、FLAG_ACTIVITY_MULTIPLE_TASK和FLAG_ACTIVITY_NEW_TASK等。每種含義大家看SDK文檔和具體跑下這樣你的記憶會更深刻些。
2. Activity和Task的啟動模式有哪些? 每種含義是什么
有關在AndroidManifest.xml中的android:launchMode定義,主要有standard、singleTop、singleTask和singleInstance,同時對于android:taskAffinity這些問題大家也要了解,Android開發網在以前的文章中講過,不過很多開發者仍然不是很清楚,這些基礎問題我們以后仍然會再次總結。
3. 通過Intent傳遞一些二進制數據的方法有哪些?
1). 使用Serializable接口實現序列化,這是Java常用的方法。
2). 實現Parcelable接口,這里Android的部分類比如Bitmap類就已經實現了,同時Parcelable在Android AIDL中交換數據也很常見的。
4. 能說下Android應用的入口點嗎?
真正的Android入口點是application的main,你可以看下androidmanifest.xml的包含關系就清楚了。可以沒有Activity但是必須有Application
5. Android都有哪些XML解析器,都熟練掌握嗎?
這里XmlPull、SAX和DOM相信做過Web開發的都已經滾瓜爛熟了。
看了“android軟件測試面試題及答案”