`
cjz010
  • 浏览: 27524 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【偶遇BUG】android service不走onDestroy

 
阅读更多

【现象】 

    Activity A 在onCreat()里startservice来启动自定义service同时Activity A 调用finish销毁掉,

    在自定义service里除了关键方法里打印个日志和显示一个通知栏外啥都不干,通知栏点击之后打开Activity B,

    Activity B里有个stop按钮去stopservice.

有没有感觉这现场好简单,这样神奇的现象就出现了,怎么点击那个stop按钮,自定义的service就是不走onDestroy回调.


【分析】 


    这就是android给开发过程中带来的不安全感!一切都是那样的简单!这个坑折腾我一早上!让我都开始怀疑人生了!!!


【修正】 

    延后调用Activity A 的finish时机.

分享到:
评论

相关推荐

    Android Service服务不被停止详解及实现

    Android Service服务一直运行:  最近有个项目需求是后台一直运行Service,但是一般都是可以手动停止的,这里就提供一个方法让Android Service服务一直运行,大家看下。 1.设置->应用->运行中->停止->杀死service ...

    Android编程之Activity中onDestroy()调用分析

    主要介绍了Android编程之Activity中onDestroy()调用方法,针对onDestroy引起的内存泄露及解决方法进行了分析,并给出了解决方案,需要的朋友可以参考下

    Android Service中使用Toast无法正常显示问题的解决方法

    本文实例讲述了Android Service中使用Toast无法正常显示问题的解决方法。分享给大家供大家参考,具体如下: 在做Service简单练习时,在Service中的OnCreate、OnStart、OnDestroy三个方法中都像在Activity中同样的...

    Android锁屏无法继续定位问题

    Android锁屏无法继续定位问题 产生问题的原因: 手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会将手机进入休眠状态。... <service android:name=".MyIntentService"></service> 注册

    android的服务

    Service在Android中是一种长生命周期的组件,它不实现任何用户界面。最常见的例子如:媒体播放器程序,它可以在转到后台运行的时候仍然能保持播放歌曲;或者如文件下载程序,它可以在后台执行文件的下载。 让我们来...

    Android实验五.doc

    与Activity不同,它 是不能与用户交互的,不能自己启动的,需要调用Context.startService()来启动,运 行后台,如果我们退出应用时,Service进程并没有结束,它仍然在后台行。Service有 两种启动方式,对应的,有两...

    Android自主学习项目报告(一).doc

    自主学习内容 按照上面的要求列出至少10条 收集编写代码过程中碰到的bug,说明bug发生的原因及解决方案 (1)使用actionProvider时出现的问题: 解决方案:换一种import的方式即可,如下所示: "1 "//import android....

    Android stuido安卓小程序

    实现服务的onCreate(),重写onbind()方法,销毁onDestroy()方法如果 Activity 绑定,Activity 就可以取到 IBinder 对象,可以直接调用对象的方法,相同应用内部不同组件绑定,可以使用内部类以及Binder对象来...

    Android 自动启动服务的示例.rar

    Android 自动启动服务,也可以手动启动或停止指定的服务,这只是一个例子,演示在android环境下,如何在后台自动运行Service。  public void onDestroy() {//重写的onDestroy方法   myThread.flag = false;//停止...

    OnOK OnCancel OnClose OnDestroy 详解

    OnOK OnCancel OnClose OnDestroy

    android-activity-lifecycle-demo:一个Android应用程序,展示何时进行各种活动生命周期回调

    背景: android活动的生命周期包括以下回调: onCreate() , onStart() , onResume() , onPause() , onStop() , onRestart()和onDestroy() 。 这些回调为开发人员提供了指示应用程序行为的区域。onCreate() 此...

    android百度地图

    android百度地图 import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapView; import android.app.Activity; import android.os.Bundle; import ...

    android 面试

    android 面试 1. 请描述下Activity的生命周期。  答:onCreate()Activity第一次加载时调用,用户构建窗体  onStart()Activity能被用户看到时时调用  onResume()Activity能够得到用户焦点时调用  onRestart()...

    Android编程实现开始及停止service的方法

    主要介绍了Android编程实现开始及停止service的方法,涉及Android针对service的开始、停止、绑定等操作相关技巧与注意事项,需要的朋友可以参考下

    Android代码-LiveEventBus

    Android消息总线,基于LiveData,具有生命周期感知能力,支持Sticky 简单之美 LiveEventBus实现非常简单,功能却非常强大。简单好用,就是最好的:) LiveEventBus的特点 [x] 生命周期感知,消息随时订阅,自动...

    Android代码-android-disposebag

    Even if we could achieve this, there's still a problem with the Android platform, Activities are created and managed by the system, using it after either onDestroy or onStop method is called will ...

    Android Service自启动注意事项分析

    本文实例分析了Android Service自启动注意事项。分享给大家供大家参考,具体如下: @Override public void onStart(Intent intent, int startId) { super.onStart(intent, startId); if(intent == null) return;...

    Android学习笔记之Started Service

    Started Service就是启动之后可以在后台无限期的运行,比如通过...在File->new->Service->Service中新建一个Service,并重写里面的方法,一般来说要实现onCreate()、onBind()、onStartCommand()和onDestroy()这四

    Android通过JNI实现守护进程

    开发一个需要常住后台的App其实是一件非常头疼的事情,不仅要应对国内各大...3、在onDestroy方法里重启service:这个倒还算挺有效的一个方法,但是,直接干掉进程的时候,onDestroy方法都进不来,更别想重启了 4、broa

Global site tag (gtag.js) - Google Analytics