当按手机back时候,Activity不一定销毁的,只是暂停了,当系统资源不足或在历史栏将其删除的时候才会由系统自动销毁。
当按手机home时候,只是将Activity切换到了后台,其仍然在运行中
另外在开启service时特别要注意onStartCommand的返回值,因为service随机会因为宿主activity的完全销毁或内存吃紧而重启
这时onStartCommand方法就会显得尤为重要 ,以下是onStartCommand的返回值
START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没有任何启动命令被传递到service,那么参数Intent将为null。
START_NOT_STICKY:“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统不会自动重启该服务。
START_REDELIVER_INTENT:重传Intent。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。
START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,但不保证服务被kill后一定能重启。
当按下手机back及home键时activity的状态变化及service中onStartCommand用法,布布扣,bubuko.com