这个方法有什么用?有时候创建线程时还一定要用到.
解决方案 »
- ExpandableListView两个组下面的数据相同
- 100分求:应用到底安装到哪里去了?
- 用HttpURLConnection向服务器发GET请求,得到的数据跟用Opera浏览器看到的不一致,为什么?
- 如何将桌面的应用程序图标和主功能菜单中的应用程序图标变大呢?
- 有关安卓和塞班优势的5点疑问
- 在strings.xml里定义了<br/>,但是无法换行啊!!!
- 求android sdk1.5,不要其它版本
- 求助 FrameLayout.LayoutParams 隐藏方法
- service运行
- Android下拉刷新,上拉加载,有没有比较好的第三方库?
- android调用系统的邮件程序
- 有开发经验的朋友进
参照源码: public static final void prepare() {
if (sThreadLocal.get() != null) {
throw new RuntimeException("Only one Looper may be created per thread");
}
sThreadLocal.set(new Looper());
}这段代码就是通过ThreadLocal来产生一个Looper对象做为线程局部变量,然后调用Looper.loop()则是取出Looper对象中的MessageQueue进行消息循环了,这样形成了这个线程的消息队列。
一般情况下只会有主线程会调用prepare方法(ActivityThread的main函数)。