`
cjz010
  • 浏览: 30297 次
  • 性别: 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是四大组件之一,它在后台运行,不与用户界面直接交互,常用于执行长时间的任务,如播放音乐、网络通信等。本篇文章将深入解析"android service 简单实例源代码",帮助你理解如何在Android...

    Android防止service多次执行startCommand

    然而,如果不加以控制,用户或者系统可能会多次启动同一个Service,导致不必要的资源消耗和服务的异常行为。本篇将详细介绍如何防止Service的startCommand方法被多次执行。 首先,了解`startCommand`方法。在...

    Android Service 服务不被杀死的妙招

    在Android应用开发中,Service是不可或缺的一部分,它...但需要注意的是,过度依赖Service不被杀死可能导致系统资源浪费,影响用户体验。因此,应该谨慎使用这些技巧,并确保Service的运行对用户来说是有意义和必要的。

    android service下载资源,同时解压资源

    在Android开发中,Service是一种非常重要的组件,它可以在后台长时间运行,执行一些不需要与用户交互的任务。本示例中,我们关注的是如何利用Service来实现资源的异步下载,并且在下载完成后对ZIP文件进行解压。这个...

    QT for Android下Service的创建

    2. **重写关键方法**:如同Android原生开发一样,你需要重写`QService`的一些关键方法,如`onCreate()`(服务创建时调用)、`onStartCommand()`(服务启动时调用)、`onDestroy()`(服务销毁时调用)等,以实现特定...

    android Service类简介

    在Android开发中,Service是不可或缺的部分,它提供了后台运行的能力,使得应用可以执行那些不需要用户直接参与的任务。理解和掌握Service的使用对于开发高质量的Android应用至关重要。通过阅读博客文章《android ...

    Android Service下载,EventBus更新界面

    Service不提供用户界面,通常用于执行如音乐播放、数据同步、后台下载等任务。Service有两种启动方式:startService()和bindService()。startService()用于一次性启动服务并执行任务,而bindService()则用于与服务...

    Android Service简单实例

    在Android应用开发中,Service是四大组件之一,用于在后台执行长时间运行的操作,即使用户界面关闭也能继续工作。本篇文章将深入探讨`startService`类型的Android Service,通过一个简单的实例来展示其工作原理和...

    Android Service深入解析Demo

    在Android应用开发中,Service是四大组件之一,它在后台长时间运行,不依赖于任何用户界面,用于执行长时间运行的任务,如播放音乐、网络通信等。这篇博客"Android Service深入解析Demo"通过实例深入讲解了Service的...

    Android service

    4. **更新UI**:由于Service不能直接修改UI,因此需要使用一种间接方式。这里用到了BroadcastReceiver。创建一个BroadcastReceiver,让它监听Service发送的自定义广播。 5. **发送广播**:在Service的定时任务完成...

    Android Service

    在Android应用开发中,Service是四大组件之一,它在后台长时间运行,即使用户与应用程序的交互界面(Activity)已经关闭。Service主要用于执行长时间运行的操作,如播放音乐、处理网络交易或者与内容提供者进行交互...

    Android Service Demo

    在Android应用开发中,Service是Android四大组件之一,它是一个在后台运行的组件,可以长时间执行操作而无需用户与界面进行交互。"Android Service Demo"是一个示例项目,旨在展示如何在Android应用中使用Service。...

    Android Service 实现下载,前台、通知栏同步更新

    在Android应用开发中,Service是用于执行长时间运行操作的一个组件,比如后台下载任务。本教程将详细介绍如何使用Android Service来实现文件下载,并在前台显示进度,同时通过通知栏同步更新下载进度。 首先,我们...

    Service-Demo-android.zip_DEMO_android service_android service de

    在Android开发中,Service是四大组件之一,它用于在后台执行长时间运行的操作,即使用户界面不在前台。"Service-Demo-android.zip"是一个演示项目,旨在帮助开发者了解如何在Android应用程序中有效地使用Service组件...

    android 录音机 service 例子

    在Service不使用时,应调用`stopSelf()`或`stopService()`结束服务,同时在Service的`onDestroy()`方法中释放MediaRecorder资源,防止内存泄漏。 7. **广播接收器** 在这个例子中,广播接收器可能用于接收Service...

    Android Service和Activity基于串口蓝牙模块的双向通信

    在 Android 中,Service 的生命周期包括 onCreate、onStart、onDestroy 等方法。onCreate 方法在服务被创建时调用,onDestroy 方法在服务被终止时调用。Service 对象不能自己启动,需要通过某个 Activity、Service ...

    android service

    在Android系统中,Service是一种非常重要的组件,它允许应用程序在后台长时间运行操作,即使用户界面已经关闭。Service主要用于执行长时间运行的任务,如播放音乐、网络通信或者定期数据同步。本篇我们将深入探讨...

    Android服务Service_详解.pdf

    Android服务(Service)是Android操作系统中四个核心应用程序组件之一,其他三个分别是Activity、BroadcastReceiver和ContentProvider,它们在Android应用开发中的作用和使用场景各不相同。Service的作用主要体现在...

    Android 带进度条的使用Service实现的音乐播放器

    1. **Android Service**: Service是Android中的一个组件,它可以在后台长时间运行,不依赖于用户的交互。在音乐播放器中,Service用于在后台持续播放音乐,即使用户离开应用也能保持播放状态。 2. **MediaPlayer类*...

    android Service example

    Service的生命周期由Android系统管理,当Service被创建、启动或绑定时,系统会调用相应的生命周期方法,如`onCreate()`, `onStartCommand()`, `onBind()`, `onUnbind()`, 和 `onDestroy()`。开发者必须理解这些方法...

Global site tag (gtag.js) - Google Analytics