当你需要finish一个页面的时候,这个页面有子程序不断的在后台进行运行,finish只能关闭主线程,但是却无法关闭子线程,所以提供以下两种方法,以供参考

方法一:在不断循环运行的子线程中加入一个标示符进行判断,当你需要退出的时候,将标示符置为true即可

方法二:利用android中的handler

//可以用HandlerThread,将它的Looper给handler就可以,具体用法如下: HandlerThread handlerThread=new HandlerThread("threadTag"); handlerThread.start(); Handler handler=new Handler(handlerThread.getLooper()); handler.post(test); //这样test不会阻塞ui线程,test为Runnable的子类 在activity的onDestroy()方法中handler.removeCallbacks(test)

 值得注意的是,这样创建得到的handler相当于子线程中的handler,你如果再通过sendMessage发送消息的话,不能去更新UI,否则会报错

更多相关文章

  1. 安全新手入坑——HTML标签
  2. Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
  3. 再论Android中的OnTouch事件和MotionEvent
  4. iOS到Android到底有多远
  5. Android(安卓)Activity启动耗时统计方案
  6. Android(安卓)IPC机制(四):细说Binder连接池
  7. Android(安卓)重要基本开发规范
  8. Android(安卓)修改全局自定义字体样式(字形,大小)※
  9. 都在说EventBus,我也来一波EventBus

随机推荐

  1. Android 4.0的12大新特性
  2. 怎样在Android中解析doc、docx、xls、xls
  3. Android(安卓)ImageLoader 本地缓存
  4. Android(安卓)正则表达式 匹配 (数字)x(
  5. android中TextView实现单行跑马灯
  6. Android:异步调用详解
  7. Android类说明---MeasureSpec
  8. Android(安卓)跨应用调用Activity及Servi
  9. Android下图片处理的的一些方法
  10. Android 应用安全风险与防范