android UI跨线程操作
16lz
2021-01-23
android应用程序也是单线程程序,主线程为UI线程。
android 线程是非安全的,即不要在子线程中更新 UI。
- publicclassMasterActivityextendsActivity{
- TextViewtv=null;
- Buttonbtn=null;
- HandlermHandler=newHandler(){
- @Override
- publicvoidhandleMessage(Messagemsg){
- if(msg.what==1){
- tv.setText("updateUIissuccess!");
- btn.setText("updateUIissuccess!");
- }
- super.handleMessage(msg);
- }
- };
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- System.out.println(Thread.currentThread().getName()+":"+Thread.currentThread().getId());
- tv=(TextView)findViewById(R.id.text);
- btn=(Button)findViewById(R.id.btn);
- btn.setOnClickListener(newOnClickListener(){
- @Override
- publicvoidonClick(Viewv){
- Threadthread=newThread(newRunnable(){
- @Override
- publicvoidrun(){
- System.out.println(Thread.currentThread().getName()+":"+Thread.currentThread().getId());
- Messagemsg=mHandler.obtainMessage();
- msg.what=1;
- msg.sendToTarget();
- }});
- thread.start();
- }
- });
- }
更多相关文章
- 在Android中实现多线程同步
- Android/java 多线程(五)-ThreadPoolExecutor线程池的使用
- Android 线程池来管理线程
- Android的线程使用来更新UI----Thread、Handler、Looper、TimerT
- Android关于线程更新UI的方法
- Android,UI主线程与子线程
- 解析Android中的main线程与子线程
- Android 线程优先级设置方法