一看就懂的Service生命周期

简介:

今天闲着无事,就写了一个生命周期,一看就明白了大家。首先创建——开始——销毁,整个流程。真的非常简单,先让大家看一下图先。



根据上面的按钮所得到方法,大家可以在LogCat中增加一个标签,立即可以看到

 


 
 
  1. package com.smart.service; 
  2.  
  3. import android.app.Service; 
  4. import android.content.Intent; 
  5. import android.os.IBinder; 
  6. import android.util.Log; 
  7.  
  8. public class ServiceLeft extends Service { 
  9.     private static final String TAG="ServiceLeft"
  10.      
  11.      
  12.     @Override 
  13.     public IBinder onBind(Intent arg0) { 
  14.         // TODO Auto-generated method stub 
  15.         return null
  16.     } 
  17.  
  18.     @Override 
  19.     public void onCreate() { 
  20.         ////进行创建 
  21.         Log.i(TAG, "onCreate"); 
  22.         super.onCreate(); 
  23.     } 
  24.  
  25.     @Override 
  26.     public void onDestroy() { 
  27.          
  28.         //进行销毁 
  29.         Log.i(TAG, "onDestroy"); 
  30.         super.onDestroy(); 
  31.     } 
  32.  
  33.     @Override 
  34.     public void onStart(Intent intent, int startId) { 
  35.         //进行开始 
  36.         Log.i(TAG, "onStart"); 
  37.         super.onStart(intent, startId); 
  38.     } 
  39.  
  40. package com.smart.service; 
  41.  
  42. import android.app.Activity; 
  43. import android.content.Intent; 
  44. import android.os.Bundle; 
  45. import android.view.View; 
  46. import android.view.View.OnClickListener; 
  47. import android.widget.Button; 
  48.  
  49. public class Main extends Activity implements OnClickListener { 
  50.     private Button llbstatr; 
  51.     private Button llbstop; 
  52.     private Intent serviceIntent; 
  53.  
  54.     @Override 
  55.     public void onCreate(Bundle savedInstanceState) { 
  56.         super.onCreate(savedInstanceState); 
  57.         setContentView(R.layout.main); 
  58.  
  59.         llbstatr = (Button) findViewById(R.id.llbstart); 
  60.         llbstop = (Button) findViewById(R.id.llbstop); 
  61.         llbstatr.setOnClickListener(this);// 绑定器 
  62.         llbstop.setOnClickListener(this); 
  63.         serviceIntent = new Intent(this, ServiceLeft.class);// 跳转ServiceLeft生命周期并且调用方法 
  64.  
  65.     } 
  66.  
  67.     @Override 
  68.     public void onClick(View v) { 
  69.         // 根据按钮,触发事件 
  70.         switch (v.getId()) { 
  71.         case R.id.llbstart: 
  72.             startService(serviceIntent); 
  73.             break
  74.         case R.id.llbstop: 
  75.             stopService(serviceIntent); 
  76.             break
  77.  
  78.         } 
  79.  
  80.     } 
  81.  

 



本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/516909,如需转载请自行联系原作者

相关文章
|
Linux Shell 网络安全
服务停止后,自启动的service怎么写
当服务停止后,你可以通过在特定目录中创建一个.service文件来实现自启动。下面是一个示例: 1. 打开终端或者SSH连接到CentOS服务器上。 2. 进入`/etc/systemd/system/`目录。这是存放系统服务的位置,你可以将你的自启动服务文件放在这里。 3. 使用文本编辑器(如vi或nano)创建一个新的.service文件,文件名可以是任意的以`.service`结尾。 ```bash sudo vi myservice.service ``` 在文件中添加以下内容: ``` [Unit] Description=My
134 0
|
Kubernetes 前端开发 网络协议
【k8s 系列】k8s 学习十九,service 2 暴露服务的 3种 方式
之前我们简单的了解一下 k8s 中 service 的玩法,今天我们来分享一下 service 涉及到的相关细节,我们开始吧
243 0
|
Kubernetes 监控 Perl
【k8s 系列】k8s 学习二十七 - 6,k8s 自身原理之 Service
好不容易,终于来到 k8s 自身的原理之 关于 Service 的一部分了 前面我们用 2 个简图展示了 pod 之间和 pod 与 node 之间是如何通信息的,且通信的数据包是不会经过 NAT 网络地址转换的
|
Android开发
深入剖析Android四大组件(二)——Service服务之启动与绑定(二)
深入剖析Android四大组件(二)——Service服务之启动与绑定(二)
294 1
深入剖析Android四大组件(二)——Service服务之启动与绑定(二)
|
Android开发
深入剖析Android四大组件(二)——Service服务之启动与绑定(一)
深入剖析Android四大组件(二)——Service服务之启动与绑定(一)
285 0
深入剖析Android四大组件(二)——Service服务之启动与绑定(一)
|
API Android开发
Service中是如何产生ANR的?
Service中是如何产生ANR的?
244 0
Service中是如何产生ANR的?
K8S自己动手系列 - 2.4 - Service
上个实验2.3 – PV & PVC,我们将wordpress+mysql的Deployment绑定PVC,并成功将mysql的数据保存才PV存储卷上。 但是mysql作为数据库应用,当水平扩展后,就是多个独立的数据库实例,数据彼此分离,导致应用在多个实例间的状态不一致,那么这个问题如何解决呢?
1789 0