Android之Service复习深入,android性能优化和内存优化

分析onStartCommand方法参数的作用和返回值的作用:

1、根据这个方法的返回值不同可以有两种启动模式START_NOT_STICKY,START_STICKY,(当进行被杀死的时候,是否重新启动。如果是参数:START_REDELIVER_INTENT表示当服务所在进程被杀死后,重新启动,并且重新传递Intent内容,其它两个参数不会重新传递intent,都为null)

2、返回START_REDELIVER_INTENT的时候,如果不论启动多少次,当重新启动的时候,也会启动多少次。

3、是当前服务的标记

4、第三个参数startId表示当前启动的Service的次数。

下面看一下测试源码:

HelloSerivce.java

public class HelloService extends Service {

Handler handler = new Handler();

private final IBinder mBinder = new HelloBinder();

@Override

public void onCreate() {

Log.v(“verbose”, “onCreate”);

super.onCreate();

}

/**

  • 用这种方式 ,从Activity启动服务之后,在后台运行的,之后就没有与Activity联系了 如果有bind方法

  • ,在整个过程中与Activity进行通信

  • 根据这个方法的返回值不同可以有两种启动模式START_NOT_STICKY,START_STICKY,

  • START_REDELIVER_INTENT服务被系统杀死后是否自动重启,和是否重新传递intent。

  • 如果被杀死之后重新启动服务,会重新调用onCreate,和onStartCommand方法

  • ,但是重新调用onStartCommand的时候,不会再次传递参数。。

  • 返回START_REDELIVER_INTENT的时候,如果不论启动多少次,当重新启动的时候,也会启动多少次。

*/

@Override

public int onStartCommand(Intent intent, int flags, int startId) {

Log.v(“verbose”, “onStartComand”);

handler.post(new Runnable() {// 用通常用Handler线程跟UI线程打交到

@Overr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值