使用Timer代替Handler
来源:互联网 发布:鬼脚七在淘宝里的职位 编辑:程序博客网 时间:2024/06/05 17:27
使用Timer代替Handler
因为最近在使用RxJava 所以将自己所学到的一些小知识拿来和大家分享:
以前我们使用延时操作的时候很多人都在使用Handler
但是这样的点有可能引起内存泄露。一般推荐的都是使用static的handler,并且使用软引用,控制handler的消息处理
private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); //执行代码 }}mHandler.sendEmptyMessageDelayed(1, 10*1000);
以上方法在使用上并不方便,而且如果代码写得不好可读性并不好使用不当可能引起其他问题。
今天向大家推荐RxJava的timer操作符
使用方法如下:
Observable.timer(500, TimeUnit.MILLISECONDS, AndroidSchedulers.mainThread()).subscribe(new Action1<Long>() { @Override public void call(Long aLong) { if (getActivity() == null || getActivity().isFinishing()) { return; } //执行的代码 } }, new Action1<Throwable>() { @Override public void call(Throwable throwable) { //异常处理 } });
延时操作时我们是可以通过timer来指定执行线程 以上代码是在UI线程里执行,大家也可以通过
Schedulers来选择其他线程。
1 0
- 使用Timer代替Handler
- RxJava Timer:代替handler
- Android 使用Timer代替Handler 做循环任务 节省内存
- RxJava练习(1)--timer代替Handler
- RxJava练习(1)--timer代替Handler
- RxJava练习(1)--timer代替Handler
- 使用ScheduledThreadPoolExecutor代替Timer&TimerTask
- 使用ScheduledThreadPoolExecutor代替Timer&TimerTask
- Timer和handler的使用
- android handler机制和Timer的使用
- Android中的Timer和Handler的使用
- Timer Timer Task Handler
- Android中三种计时器Timer、CountDownTimer、handler.postDelayed的使用
- Widget、Timer、TimerTask、Handler、Message的综合使用
- Timer搭配TimerTask与Handler使用(更新UI)
- Android - 使用Timer+Handler定时跨线程访问UI控件
- android handler计时器 Timer+handler
- android---Timer和Handler
- codeforces ZS and The Birthday Paradox
- Android Studio 非法字符: \65279
- jdbcTemplate
- HTTP 协议初探之--历史演变和设计思路
- CoordinatorLayout与滚动的处理
- 使用Timer代替Handler
- Go 语言简介(上)— 语法
- QML动画与过度
- Android进程的五个等级
- Linux终端缩短路径名
- CocoaPods详解之----制作篇
- web手势库AlloyFinger运用( 控制CANVAS中图片移动、缩放、旋转)
- CUDA学习(四)初探
- 26个字母和数字符号ASCII码对照表