android 2018 面試題

來源:互聯網
上載者:User

標籤:情況   instance   分析   bundle   ble   使用者   ons   service   參數   

 

【一】Activity

  1.生命週期

  onCreate:表示activity正在被建立(此方法中可以做一些初始化工作)

  onRestart:表示activity正在被重新啟動,當前activity由不可見變為可見狀態時,會被調用

  onStart:表示activity正在被啟動,這時activity已經可見了,但是沒有出現在前台,無法與使用者互動

  onResume:表示activity已經可見了,位於前台,可以與使用者互動了

  onPause:表示activity正在停止

  onstop:

  ondestory:

 

  2.異常情況下生命週期分析

  activity在異常情況下終止時,系統會調用onSaveInstanceState來保持當前activity的狀態;

  activity在重新建立後,系統胡調用onRestoreInstanceState,並且把activity銷毀時所儲存的Bundle對象作為參數同時傳給onCreate和onRestoreInstanceState方法

 

    3.activity的載入模式

  standard:預設模式

  singleTop:棧頂模式(activity在棧頂就複用,不在就重建)  適應的情境:推送訊息的展示頁

  singleTask:棧內複用模式  棧中不會有重複的instance,重用時會幹迴轉上所有的activity  適應的情境:程式的入口,用在啟動頁和首頁

  singleInstance:單一實例模式  重新開闢新的任務棧  適應的情境:與程式分離的頁面(類似鬧鐘的提示)

 

【二】廣播

  廣播可以來自系統,還可以來自其他app;

  廣播分為有序廣播和無序廣播;

  Intent是用來發送廣播的,BroadcastReceiver是來接受廣播的

  動態註冊必須等到app啟動後才能收到廣播,靜態註冊可以實現未啟動應用也可以接受廣播;

  

【三】service

  1.資訊清單檔的屬性

  exported:代表是否能被其他應用隱式調用

  process:是否需要在單獨的進程中運行

  enable:是否可以被系統執行個體化

  2.如何保證服務不被殺死

  因記憶體不足殺死服務:可將onStartCommand方法的傳回值設定為Start_sticky,表示服務在記憶體資源緊張時被殺死後,會在記憶體資源足夠時再恢複;也可以將服務設定為前台服務,擁有較高的比較級,這樣在記憶體資源緊張時也不會被殺掉

  使用者手動幹預殺死服務:非強制性關閉服務,會走生命週期,onDestory方法會被調用,可以在此方法中發送廣播,重新啟動(為了程式更健全,我們可開兩個服務,相互監聽,相互啟動,服務A監聽B的廣播來啟動B,服務B監聽A的廣播來啟動A)

 

  

 

android 2018 面試題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.