android之postDelayed是否运行在主线程中解答
2016-07-09 10:57
357 查看
知识点 1、postDelayde是否运行在主线程中?答案是肯定的。
代码如下
在绝对的UI线程中打印线程ID:
System.out.println("-=-=-=>>xianchengid00000 = " + Thread.currentThread().getId());下面在posdelayed中打印运行线程的ID:
new Handler().postDelayed(new Runnable() { @Override public void run() { System.out.println("-=-=-=>>xianchengid11111 = " + Thread.currentThread().getId()); ImageUtil.deleteImageFromSDCard(imgPath); } }, 3000);最后打印如下:
07-09 10:47:24.110 17026-17026/com.spd.sinoss I/System.out: -=-=-=>>xianchengid00000 = 107-09 10:47:27.111 17026-17026/com.spd.sinoss I/System.out: -=-=-=>>xianchengid11111 = 1可以看出来,它们两个程序都是运行在主线程中的。
方法的官方解释是:
The runnable will be run on the thread to which this handler is attached.既是说,这个开启的runnable会在这个handler所依附线程中运行,而这个handler是在UI线程中创建的,所以
自然地依附在主线程中了。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories