回覆列表
  • 1 # 使用者7783415612966

        Service以及描述下它的生命週期:   Service是執行在後臺的android元件,沒有使用者介面,不能與使用者互動,可以執行在自己的程序,也可以執行在其他應用程式的上下文裡。   Service隨著啟動形式的不同,其生命週期稍有差別。當用Context.startService()來啟動時,Service的生命週期依次為:oncreate——>onStartCommand——>onDestroy 當用Context.bindService()啟動時:onStart——>onBind——>onUnbind——>onDestroy。   Service啟動方式有兩種;一是Context.startService和Context.bindService。   區別是透過startService啟動時Service元件和應用程式沒多大的聯絡;當用訪問者啟動之後,如果訪問者不主動關閉,Service就不會關閉,Service元件之間因為沒什麼關聯,所以Service也不能和應用程式進行資料互動。而透過bindService進行繫結時,應用程式可以透過ServiceConnection進行資料互動。   在實現Service時重寫的onBind方法中,其返回的物件會傳給ServiceConnection物件的onServiceConnected(ComponentName name, IBinder service)中的service引數;也就是說獲取了serivce這個引數就得到了Serivce元件返回的值。Context.bindService(Intent intent,ServiceConnection conn,int flag)其中只要與Service連線成功conn就會呼叫其onServiceConnected方法,停用Service使用Context.stopService。

  • 中秋節和大豐收的關聯?
  • 非農業家庭戶和農業家庭戶有什麼區別有什麼區別?