http://blog.csdn.net/as02446418/article/details/46790843

欢迎转载,但请附上出处~~ 
http://blog.csdn.net/as02446418/article/details/46790843

出现leaked ServiceConnection 的解决办法

Activity com.skyace.service.MainActivity has leaked ServiceConnection com.phicomm.hu.MainActivity that was originally bound here
android.app.ServiceConnectionLeaked: Activity com.skyace.service.MainActivity has leaked ServiceConnection com.skyace.service.MainActivity$1@41cd81f0 that was originally bound here
  • 起因

    最近在做项目时,用到了关于service与actvity绑定的知识,但是在调试过程中无意中出现了上述的bug,后来经分析,当清理后台activity时就会报这个错误,我们来看一下代码:


public class MainActivity extends Activity
{//定义浮动窗口布局LinearLayout mFloatLayout;//创建浮动窗口设置布局参数的对象WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();WindowManager mWindowManager;//定义对getInformation的引用GetInformation getInformation;//** Called when the activity is first created. FxService.MyBinder myBinder;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);Button start = (Button)findViewById(R.id.start_id);Button remove = (Button)findViewById(R.id.remove_id);GetInformation.createGetInformation(this);getInformation = GetInformation.getGetInformation();start.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {bindService();}});remove.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {unbindService(conn);}});}private ServiceConnection conn = new ServiceConnection() {@Overridepublic void onServiceDisconnected(ComponentName name) {System.out.println("--Service Disconnected--");}@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {System.out.println("--Service Connected--");myBinder = (FxService.MyBinder) service;FxService fxService = myBinder.getService();}};private void bindService(){Intent intent = new Intent(MainActivity.this, FxService.class);bindService(intent, conn, BIND_AUTO_CREATE);}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72

后来在之后加上了重写的onDestroy的回调方法中加入了对服务的解绑操作即 unbindService就成功解决了,如下:

@Overrideprotected void onDestroy() {// TODO 自动生成的方法存根super.onDestroy();unbindService(conn);}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其实这个错误有点类似于dialog中如果activity已经finish()掉但dialog还没dissmiss()时也会报类似的溢出错误,希望大家引以为戒,多多注意自己的代码习惯,做好防护的措施。

1
2
  • 上一篇Android 内存溢出问题分析
  • 下一篇快速排序算法之JAVA实现

出现leaked ServiceConnection 的解决办法相关推荐

  1. service连接泄露异常:Activity MainActivity has leaked ServiceConnection MainActivity解决方法

    使用绑定式启用service时,当关闭Activity后控制台出现如下异常: Activity example.com.example5_2_servicebind.MainActivity has ...

  2. 出现 leaked ServiceConnection 解决办法

    在Android界面上调用service绑定方法,退出界面时候报告一堆错误  Activity has leaked ServiceConnection 等,应该重写 onDestroy方法,取消绑定 ...

  3. 解决has leaked ServiceConnection com.baidu.location.c@427b6780

    解决"has leaked ServiceConnection com.baidu.location.c@427b6780 that was originally bound here&qu ...

  4. 百度地图定位功能的错误has leaked ServiceConnection 解决

    首先感谢博主总结: http://blog.csdn.net/u010940300/article/details/43488651 再次在博主的基础上补充说明: 1.androidmanifest文 ...

  5. dev c++ 调试时候发生软件崩溃解决办法

    dev c++ 调试时候发生软件崩溃解决办法 安装好dev cpp,准备调试的时候发现软件崩溃,这种情况很好解决.只要在工具菜单中点开编译选项,找到代码生成/优化一栏,将链接器的"产生调试信 ...

  6. js ajax 递归,javascript ajax循环请求/ 长轮询终极解决办法——递归

    ajax循环请求,不能使用for循环,原因如下: 1. 因为ajax是异步执行,在还没有拿到服务器响应内容,就进入下一个for循环中 解决办法:递归currentIndex = 0; function ...

  7. hive mysql 不兼容_Hive+mySql遇到的问题和解决办法

    问题1: Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteEx ...

  8. 微信小程序wx.request POST获取不到数据解决办法

    get //发起请求     wx.request({       url: 'http://www.xiaochengxu.com/home/index/curd', //仅为示例,并非真实的接口地 ...

  9. 主机/服务器某端口被占用及解决办法

    1.端口的概念 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型.物理端口指的是物理存在的端口,如ADSL Modem.集线器.交换机.路由器上用 于连接其他网络设备的接口,如RJ-45端 ...

最新文章

  1. C语言——实现用链表存储学生信息,当输入0退出输入,并查找学号为3的学生是否存在
  2. python 调用另一个py_跟我自学python 第9章 类(9.4.6 在一个模块中导入另一个模块)...
  3. 用C#快速往Excel写数据
  4. 不用 pip install,你养我吗?
  5. 响应式web(三):服务当中的三种耦合,流式计算,RXJava2,Flux,Mono
  6. TensorFlow:Windows下使用TensorFlow-Python版本
  7. String.slice
  8. 【Python】学习笔记之列表生成式
  9. 2017.10.17 蜘蛛难题 思考记录
  10. python telnetlib详解 执行循环命令_Python3+telnetlib实现telnet客户端
  11. 计算机专业计算机 等级怎样填,计算机水平一般怎么填
  12. Python利用情感词典做情感分析
  13. YYKit-YYModel分析
  14. python操作 SVN中文乱码问题
  15. XBrowser增加Jslog日志对象接口
  16. 怎么样免费建自己的网站?
  17. 【转】几个期货基本面因子的研究
  18. App应用字体大小保持固定以及关于Configuration的变化
  19. 华尔街最“伟大”骗子排行榜!
  20. python机器学习学习通第一章答案详解

热门文章

  1. 计算机自动执行的条件是,电脑中winsat.exe进程总会自动运行的解决方法
  2. 使用Python从头实现一个神经网络
  3. sql登录名和用户名_通过分配角色和权限来移动或复制SQL登录名
  4. flyingsaucer进行html文件转图片和pdf
  5. 无限城app为什么服务器繁忙,无限城决战中上弦鬼为何一点忙都帮不上?无惨:全是混子...
  6. ForgivingExceptionHandler: An unexpected connection driver error occured (Exception message: Socket
  7. JAVA修改运行内存
  8. oracle HTTP Server安装和配置为集群代理(linux)
  9. 计算机键盘无法使用6,电脑左边键盘数字键只可以用5和6,怎么回事
  10. 手把手教你查看常用理财工具