1. 程式人生 > >第3章 Android基礎相關面試題

第3章 Android基礎相關面試題

sch str adapt div 再次 點擊 相關 發現 amp

1、Activity問題講解

  a) Activity的生命周期

    1.Activity的4種狀態

      running / paused / stopped / killed

      running:activity處於活動狀態,用戶可以點擊屏幕,屏幕做出響應,此時該activity處於棧頂

      paused:activity失去焦點,用戶不能點擊,或者被一個非全屏activity占據、透明界面放入棧頂

      stopped:當該activity被完全覆蓋

      killed:被android系統回收

    2.Activity的生命周期

      Activity啟動->onCreate()->onStart()->onReasume()

       點擊Home鍵回到主界面(Activity不可見)->onPause()->onStop()

       當我們再次回到原activity時->onRestart()->onStart()->onReasume()

退出當前activity時->onPause()->onStop()->onDestroy()

     3.Android進程優先級

      前臺進程:正在前臺和用戶交互的activity或者是和前臺activity綁定的service

      可見進程:處於前臺但是用戶不能點擊
      服務進程:在後臺開啟一個服務
      後臺進程:前臺進程點擊hone鍵後就變成了後臺進程
      空進程:不屬於前面四種進程,android系統隨時可以殺掉

  b) Android的任務棧

      技術分享圖片

  c) Activity啟動模式

      standard 標準模式:默認的啟動模式
      singleTop 棧頂復用模式:須要創建的Activity已經處於棧頂時,此時會直接復用棧頂的Activity。不會再創建新的Activity;若須要創建的Activity不處於棧頂,此時會又一次創建一個新的Activity入棧,同Standard模式一樣

      singleTask 棧內復用模式:若須要創建的Activity已經處於棧中時,此時不會創建新的Activity,而是將存在棧中的Activity上面的其他Activity所有銷毀,使它成為棧頂。
      singleInstance 單實例模式:SingleInstance比較特殊,是全局單例模式,是一種加強的SingleTask模式。它除了具有它所有特性外,還加強了一點:具有此模式的Activity僅僅能單獨位於一個任務棧中。

   d) Scheme跳轉協議

     Android中的Scheme是一種頁面內跳轉協議,通過自定義Scheme協議,可以跳轉到app中的任何頁面。

      服務器可以定制化跳轉app頁面
      app可以通過Scheme跳轉到另一個app頁面
      可以通過h5頁面跳轉app原生頁面
     協議格式
      Uri.parse("qh://test:8080/goods?goodsId=8897&name=fuck")
      qh代表Scheme協議名稱
      test代表Scheme作用的地址域
      8080代表改路徑的端口號
      /goods代表的是指定頁面(路徑)
      goodsId和name代表傳遞的兩個參數

     Scheme使用

      http://blog.csdn.net/lishuiyuntian/article/details/77477756

2、Fragment問題講解

  a) Fragment為什麽會被稱為第五大組件

  b) Fragment加載到Activity中的兩種方式

    1.靜態加載

     xml方式

    2.動態加載

     FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.collapseActionView,new Fragment());
        fragmentTransaction.commit();

c) FragmentPageAdapter與FragmentStatePageAdapter區別
    FragmentPageAdapter適用於界面較少的情況
    FragmentStatePageAdapter適用於界面較多的情況
    看源碼中的destroyItem函數發現FragmentStatePageAdapter在Viewpage切換界面的時候會真正的回收內存,而FragmentPageAdapter不會

  d) Fragment的生命周期

      技術分享圖片

  e) Fragement之間的通信

    1.Fragemnt調用Activity中的方法

      

    2.Activity調用Fragment中的方法

    3.Fragment調用Fragment中的方法

3、Service問題講解

4、broadcast問題講解

5、webview安全漏洞問題講解

6、binder問題講解

第3章 Android基礎相關面試題