Android 面試知識集1

來源:互聯網
上載者:User

 今晚在複習Android基礎的時候,找到了一些很有價值的基礎知識,分享給給位Android的開發人員。這些是基礎知識,同時也可以當做面試準備。面試題其實是很好的基礎知識學習,有空會好好整理相關基礎知識。

1.Activity的生命週期
方法
 描述
 可被殺死
 下一個
 
onCreate()
 在activity第一次被建立的時候調用。這裡是你做所有初始化設定的地方──建立視圖、設定布局、綁定資料至列表等。如果曾經有狀態記錄(參閱後述Saving Activity State。),則調用此方法時會傳入一個包含著此activity以前狀態的包對象做為參數。

總繼之以onStart()。
 否
 onStart()
 
   
 onRestart()
 在activity停止後onStop(),在再次啟動之前被調用。

總繼之以onStart()。
 否
 onStart()
 
onStart()
 當activity正要變得為使用者所見時被調用。

當activity轉向前台時繼以onResume(),在activity變為隱藏時繼以onStop()。
 否
 onResume()
or
onStop()
 
   
 onResume()
 在activity開始與使用者進行互動之前被調用。此時activity位於堆棧頂部,並接受使用者輸入。

繼之以onPause()。
 否
 onPause()
 
onPause()
 當系統將要啟動另一個activity時調用。此方法主要用來將未儲存的變化進行持久化,停止類似動畫這樣耗費CPU的動作等。這一切動作應該在短時間內完成,因為下一個activity必須等到此方法返回後才會繼續。

當activity重新回到前台是繼以onResume()。當activity變為使用者不可見時繼以onStop()。
 是
 onResume()
or
onStop()
 
onStop()
 當activity不再為使用者可見時調用此方法。這可能發生在它被銷毀或者另一個activity(可能是現存的或者是新的)回到運行狀態並覆蓋了它。

如果activity再次回到前台跟使用者互動則繼以onRestart(),如果關閉activity則繼以onDestroy()。
 是
 onRestart()
or
onDestroy()
 
onDestroy()
 在activity銷毀前調用。這是activity接收的最後一個調用。這可能發生在activity結束(調用了它的 finish() 方法)或者因為系統需要空間所以臨時的銷毀了此acitivity的執行個體時。你可以用isFinishing() 方法來區分這兩種情況。
 是
 nothing
 

 

1、onCreate():當Activity被建立的時候調用(第一次)。操作:設定布局檔案,初始化視圖,綁定資料檔案等。

2、onStart():當Activity能被我們看到的時候。

3、onResume():當Activity獲得使用者的焦點的時候,就是能被使用者操作的時候。

4、onPause()[pause暫停意思]:Activity暫停。應用程式啟動了另一個Activity的時候。例子:來了一個電話,系統啟動了電話Activity。在這個函數裡要做的就是把Activity的資料儲存起來,當接完電話的時候,再把這些資料讀出來,把原來的Activity還原出來。

5、onstop():當第二個Activity把第一個Activity完全遮擋住了的時候。對話方塊並沒有把原來的Activity完全遮擋起來,不會調用。

6、onDestroy():銷毀Activity。1)調用了finish()方法。2)系統資源不夠用了。


函數調用過程:

啟動第一個Activity的時候:

第一次建立onCreate()-->Activity可見了onStart()-->Activity可以操作了onResume()。

點擊第一個Activity上的按鈕通過Intent跳到第二個Activity:

第一個Activity暫停onPause()-->建立第二個ActivityonCreate()-->Activity可見onStart()-->Activity可操作onResume()-->第一個Activity被第二個Activity完全遮蓋onStop()(如果調用了finish(),或者系統資源緊缺,則會被銷毀onDestory())。

點擊系統返回功能建,從第二個Activity回到第一個Activity :

第二個Activity暫停onPause()-->第一個Activity重啟動OnRestart()(並沒有被銷毀,如果銷毀了則要建立onCreate())-->第一個Activity可見onStart()-->第一個Activity可操作onResume()-->第二個Activity被完全遮蓋onStop()(如果調用了finish(),或者系統資源緊缺,則會被銷毀onDestory())。

 

 

 

 

2.橫豎屏切換時候activity的生命週期
1.不設定Activity的android:configChanges時,切屏會重新調用各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次.

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

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

 

3.android中的動畫有哪幾類,它們的特點和區別是什麼?
Android提供兩種建立簡單動畫的機制:tweened animation(補間動畫) 和 frame-by-frame animation(幀動畫).

•tweened animation:通過對情境裡的對象不斷做映像變換(平移、縮放、旋轉)產生動畫效果
•frame-by-frame animation:順序播放事先做好的映像,跟電影類似
這兩種動畫類型都能在任何View對象中使用,用來提供簡單的旋轉計時器,activity表徵圖及其他有用的UI元素。Tweened animation被andorid.view.animation包所操作;frame-by-frame animation被android.graphics.drawable.AnimationDrawable類所操作。

想瞭解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.