【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

出现leaked ServiceConnection 的解决办法

原创 2015年07月07日 16:10:37

欢迎转载,但请附上出处~~
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;


    @Override
    public 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() 
        {

            @Override
            public void onClick(View v) 
            {

                bindService();
            }
        });

        remove.setOnClickListener(new OnClickListener() 
        {

            @Override
            public void onClick(View v) 
            {
                unbindService(conn);
            }
        });

    }

    private ServiceConnection conn = new ServiceConnection() {

        @Override
        public void onServiceDisconnected(ComponentName name) {
            System.out.println("--Service Disconnected--");

        }

        @Override
        public 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);
    }

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

@Override
    protected void onDestroy() {
        // TODO 自动生成的方法存根
        super.onDestroy();
        unbindService(conn);
    }

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Android开发之服务连接泄露异常

写了个Android service,用来完成一些耗时的网络IO和远程设备连接。在Activity中,先用startService( )启动服务,然后调用bindService( )将Activity...

使用WebView遇见的问题(如WebView中上传照片或文件,拦截JS)

> Android WebView常见问题及解决方案汇总: http://blog.csdn.net/t12x3456/article/details/13769731/ > TTS Error: ...

关于android WebView我趟过的坑!

防止大家和我踩同样的坑,分享此文,共勉!

Android WebView常见问题及解决方案汇总

Android WebView常见问题及使用注意事项汇总 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. ...

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

解决“has leaked ServiceConnection com.baidu.location.c@427b6780 that was originally bound here”的错误,需要修...

百度地图sdk---地图定位功能的错误has leaked ServiceConnection com.baidu.location.LocationClient

这个问题是在使用百度地图定位功能的时候出现的出现这个问题的原因有两种 具体是什么原因可以根据App的情况来判断。 1 .如果你的定位功能并没有实现,也就是无法定位到当前的位置(一直...

MainActivity has leaked ServiceConnection com.baidu.location.LocationClient

LocationClient的初始化问题: 正确的初始化方式 new LocationClient(getApplicationContext());

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

解决“has leaked ServiceConnection com.baidu.location.c@427b6780 that was originally bound here”的错误,需要修...

Activity com.example.mymapdemo.MainActivity has leaked ServiceConnection com.baidu.location.Locati

07-21 10:23:28.153: E/dalvikvm(17264): GC_CONCURRENT freed 1143K, 17% free 7813K/9351K, paused 2ms+2...

出现leaked ServiceConnection 的解决办法

http://blog.csdn.net/as02446418/article/details/46790843 欢迎转载,但请附上出处~~  http://blog.csdn...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)