【Android源码学习】子线程更新UI
来源:互联网 发布:黑马程序员贴吧 编辑:程序博客网 时间:2024/06/04 19:48
一直都认为子线程不能更新UI,觉得这是Android系统规定的,所以也没想过为什么。直到今天刷题时看到一个言论说在onResume之前子线程是可以更新UI的。经测试,确实如此,并且在onResume时也可以用子线程更新UI,在onPause或点击时都会报错。
public class MainActivity extends AppCompatActivity implements View.OnClickListener,Runnable{ private Button btn; private TextView tv; private String tag; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button)findViewById(R.id.btn_test); btn.setOnClickListener(this); tv=(TextView)findViewById(R.id.tv_test); tag="onCreate时"; new Thread(this).start(); } @Override protected void onStart() { super.onStart(); tag="onStart时"; new Thread(this).start(); } @Override protected void onResume() { super.onResume(); tag="onResume时"; new Thread(this).start(); } @Override protected void onPause() { super.onPause(); tag="onPause时"; new Thread(this).start(); } @Override public void onClick(View v) { new Thread(this).start(); } @Override public void run() { tv.setText(Looper.myLooper()==Looper.getMainLooper()?"主线程":"子线程"+tag+"更新UI成功了"); }}
网上的结论说是只要子线程有ViewRoot就可以更新UI,暂时没有看懂,Mark一下。
子线程也可以更新UI
0 0
- 【Android源码学习】子线程更新UI
- Android 子线程更新UI
- Android 子线程更新 UI
- Android 子线程更新UI
- Android 子线程更新UI
- android子线程更新UI
- android子线程更新UI
- android子线程更新UI
- android 学习 在子线程中更新UI
- Android 子线程操作更新UI方法
- Android 关于子线程更新UI
- Android 子线程 更新 UI 界面 总结
- Android子线程中更新UI
- Android 让子线程更新UI
- Android子线程居然可以更新UI?
- Android 子线程更新UI界面
- Android在子线程更新UI界面
- Android子线程更新UI的方法
- 在Coding.net创建项目开发
- C++11——lambda表达式
- CSS布局学习随手笔记
- C++重要知识点
- CUSUM算法在变点检测中的应用
- 【Android源码学习】子线程更新UI
- Linux scp 文件至 windows
- HoloToolkit导入Error CS0227
- mnesia监控项目
- jquery 获取单选按钮的值
- JAVA-Spring学习之环境搭建
- 简单的for循环
- 观察者模式
- Ant path匹配规则