我学习有一个声明和实例与其他实例变量沿处理代码:
public class SomeActivity extends Activity {
Handler handler = new Handler(); // What thread is this taking place on?
// rest of class omitted
}
所以它被实例化的UI线程?我希望如此,因为它用于将Runnable发布到ProgressBar,我的理解是ProgressBar应该只能在UI Thread上进行操作。
Android的文件说,在的onCreate(创建)的东西是:
一个应用程序的活动应用程序的UI线程上运行。一旦 的UI被实例化,例如在活动的onCreate() 方法,然后与UI交互必须在UI线程中运行。”
但这的onCreate之前发生的事情()。
感谢任何信息,
迈克尔
除了初始化类级别字段之外,onCreate()之前没有任何反应。你有一个新的Handler(),它什么都不会做。 Runnable在哪里发布?为了回答你的问题,由于Handler是在Activity的上下文中声明的,所以它的Runnable将在UI线程上运行。如果没有,并且触及View,则会抛出异常。 – Simon