public class MainActivity extends Activity { TextVIEw tv; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tv = new TextVIEw(this); tv.setText("original text"); setContentVIEw(tv); new Thread(new Runnable() { @OverrIDe public voID run() { tv.setText("trollollolol i should dIE here but i won't."); } }).start(); }}
我跑上了设备&模拟器,都工作得很好,我看到文本的变化.这是怎么回事?
我还检查了线程ID,后台线程是DEFINITELY而不是主线程(threadID = 1)
解决方法 AndroID实际上并没有阻止您从主线程外部更新UI.这只是一个滴答作响的定时炸d.如果主UI线程当时没有更新UI,那么你的线程就可以做到. 至少那是我的理解.我不是100%肯定知道,但我已经(不小心)从主UI线程之外更新UI.有时它会工作,有时却不会.但作为一种好的做法,我会使用异步任务. 总结以上是内存溢出为你收集整理的Android为什么这不会抛出错误的线程异常?全部内容,希望文章能够帮你解决Android为什么这不会抛出错误的线程异常?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)