起因
最近在做项目时,用到了关于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); } 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172后来在之后加上了重写的onDestroy的回调方法中加入了对服务的解绑操作即 unbindService就成功解决了,如下:
@Override protected void onDestroy() { // TODO 自动生成的方法存根 super.onDestroy(); unbindService(conn); } 123456 123456其实这个错误有点类似于dialog中如果activity已经finish()掉但dialog还没dissmiss()时也会报类似的溢出错误,希望大家引以为戒,多多注意自己的代码习惯,做好防护的措施。
转载自:http://blog.csdn.net/as02446418/article/details/46790843