android离开一个页面时关闭子线程
16lz
2021-01-25
当你需要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,否则会报错
更多相关文章
- 安全新手入坑——HTML标签
- Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
- 再论Android中的OnTouch事件和MotionEvent
- iOS到Android到底有多远
- Android(安卓)Activity启动耗时统计方案
- Android(安卓)IPC机制(四):细说Binder连接池
- Android(安卓)重要基本开发规范
- Android(安卓)修改全局自定义字体样式(字形,大小)※
- 都在说EventBus,我也来一波EventBus