Android 面試總結1

1 handler message loop messageQueue
處理

2 fragment 生命周期

3 ContentProvider

4 WebView

5 BroadCastreciver 廣播

6 通訊錄 的 獲取 ContentProvider ContentReciver
獲取用戶的頭像,手機號碼 等。

7 ListVIew 圖片的錯位
思考一下:
getView() 看一下源碼

8 ListView 優化:
convertview view 的重用

9 service 服務
幾種方式:
第一種
startService()
第二種
bindService()

10 AsyncTask() 異步任務
常用的方法
doinBackground() 處理子線程
onUpdateExcute( )
onPostExcute( )

例如:
private class DownloadFilesTask extends AsyncTask {
protected Long doInBackground(URL… urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
totalSize += Downloader.downloadFile(urls[i]);
publishProgress((int) ((i / (float) count) * 100));
// Escape early if cancel() is called
if (isCancelled()) break;
}
return totalSize;
}

protected void onProgressUpdate(Integer… progress) {
setProgressPercent(progress[0]);
}

protected void onPostExecute(Long result) {
showDialog(“Downloaded ” + result + ” bytes”);
}
}

11 Volley

12 XUtils

13 HttpClient
get Post

14 Json 解析方式
有哪幾種:
org.json
gson
fastJson

15 XML 解析方式
Dom Tree
SAX
Pull

16 Intent 幾種方式

17 Activity 生命周期

18 ShareReferrence

19 Base64 是什麼?
用於傳輸,把文件變成字符串,接受到相關的字符串後,可以轉換成相應的文件;

20 加密的方式:

加密方式:
1.apk混碼,apk簽名打包
2.加權限

21 serizaable 可序列化
為瞭便於對象的傳輸,這個是Java裡面的
Android引入瞭Priczabble

22 XMPP

23 自定義View
柱狀圖
餅狀圖

24 JPush 推送

25 判斷網絡連接
ConnectivityManager 獲取它的類型,從而確定他是否連接瞭網絡

26 音頻

27 視頻

28 VIewPager

滑動的ViewGroup

29 圖片的緩存

1.首先在軟引用,如果存在的話,不存在從SD卡中獲取圖片,還不存在的話從網絡下載;
軟引用:不到資源吃緊,系統不會回收相關的資源;

30 Viewpager 和 horzitalScrollView

31 layout_grivity 當前子空間相對於父控件的位置

grivity 自己內部的內容

32 layout_weight 權重
平分 剩餘的控件。

33 sql 數據庫
支持類型:

34 事件分發機制
View ondisPathTouchenvent();
onInnerTouch();
onTouchEvent();

35 國際原理

36 國際化原理
手機啟動的時候,檢測手機的語言,
回去加載en 結尾的xml文件。 如果沒有的話,
會自動加載默認的xml文件。

37 百度地圖

38 Java 的國際化?
local 本地化
屬性文件

1.既然你做過音頻,那音頻流與安卓的交互

2.視頻畫面和音頻的同步

3.ListView的下拉上拉 頭部底部的顯示效果 onlayout的參數意義 適配器getView的參數意義 包括刷新的機制 View的刷新機制 View的刷新方法區別(invalidate,postInvalidate) ListView的分頁思路

View:刷新方法,inValidate,postInvalidate(在線程中調用,會刷新UI)

4.既然單例裡有個靜態實例對象,為毛不直接用靜態類? 靜態變量是在內存常駐的麼?GC會不會銷毀? 多線程訪問單例的安全問題。
靜態類:不需要new 一個對象,裡面的屬性和方法都是靜態的
非靜態類:需要New一個對象,裡面的屬性和方法不一定都是靜態類;

是常駐的,Gc不會銷毀他,多線程訪問單例模式,記得對獲取該實例的方法進行同步;

5.四大組件 誰在主線程中。 intentService在實際項目中的運用,為何要用。
intentService:用於異步線程中,可以用於下載,會自動停止服務

四大組件都是在主線程中,IntenService作用

6.廣播引出的觀察者模式,以及android SDK裡所瞭解到的設計模式

7.自定義View 你會用到哪幾個函數 比如自定義listView 在哪些函數裡做操作來完成你想要的展示效果

構造方法肯定會有的,可以在裡面加載完你要的listview之後,實例你的listView,通過修改該ListView的適配器來修改顯示效果;

8.橫豎屏切換另外一種保存數據的方法 除瞭onSaveInstanceState

方法1:數據庫和SharePrefenrce;

9.SDK裡的設計模式涉及

10.runOnUiThread 和view的postDelayed 函數說明

runOnUiThread轉換成主線程,postDelayed就是到瞭什麼時間去更新UI,實質都是handler實現的;

11.線性佈局 假設是水平 有3個按鈕 如何讓他們在兩邊排列 中間為空,還有gravity屬性在什麼情況下會失效

12.怎麼在代碼裡為相對佈局的控件設置margin
android:layout_marginLeft = “20dp”

13.圖片的異步加載思路,

1.發送HTtp請求,下載圖片,下載完成後,通過Handler通知UI,更新圖片;

14.調用垃圾回收後 會把無用對象及時回收掉麼?

15.V4包裡常用到的類,以及幹嘛用

16.Fragment的使用以及生命周期
onCreate onCreateView onPause onStop onDestroyView onDestroy

17.dialogfragment的使用

18.include進來的layout 直接寫margin是否會生效,以及為什麼

19.looper是個什麼東西

負責按順序取消息從MessageQueue中;

20.閱讀過哪些開源項目或者SDK裡某些類的代碼

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。