成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析Android中線程的好處

移動(dòng)開(kāi)發(fā) Android
關(guān)于線程相信不用多做解釋了,看看本文吧!

一、Android有兩種方式處理線程:

比較耗時(shí)的操作放在后臺(tái)服務(wù),通過(guò)通知機(jī)制通知用戶使用的活動(dòng)(activity);在后臺(tái)線程中處理耗時(shí)的操作

二、使用Handler

創(chuàng)建后臺(tái)線程最友好的辦法是創(chuàng)建一個(gè)Handler子類的實(shí)例。只需一個(gè)Handler對(duì)應(yīng)一個(gè)Activity。自定義的后臺(tái)線程可與Handler通信,Handler將與UI線程一起工作。和Handler通信,需要兩個(gè)選項(xiàng),message和runnable對(duì)象。

三、Message 

發(fā)送Message到Handler,第一步調(diào)用obtainMessage(),從池中得到Message對(duì)象。

然后,可通過(guò)消息隊(duì)列將Message發(fā)送給Handler,通過(guò)sendMessage…()方法族:

sendMessage() 立即發(fā)送Message到消息隊(duì)列

sendMessageAtFrontOfQueue() 立即發(fā)送Message到隊(duì)列,而且是放在隊(duì)列的最前面

sendMessageAtTime() 設(shè)置時(shí)間,發(fā)送Message到隊(duì)列

sendMessageDelayed() 在延時(shí)若干毫秒后,發(fā)送Message到隊(duì)列

為了處理Message,Handler需要實(shí)現(xiàn)handleMessage(),當(dāng)Message出現(xiàn)在隊(duì)列中時(shí),會(huì)調(diào)用handleMessage()方法。另外,Handler可在需要時(shí)更新UI。

以下示例演示一個(gè)進(jìn)度條,每隔1秒鐘增加1/20個(gè)單位。效果圖:

 

 

java代碼:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. android:orientation="vertical"   
  4. android:layout_width="fill_parent" 
  5. android:layout_height="fill_parent"> 
  6. <ProgressBar   
  7. android:id="@+id/progress" 
  8. style="?android:attr/progressBarStyleHorizontal"   
  9. android:layout_width="fill_parent" 
  10. android:layout_height="wrap_content" /> 
  11. </LinearLayout> 

java代碼:

  1. package eoe.demo;  
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import android.os.Handler;  
  5. import android.os.Message;  
  6. import android.widget.ProgressBar;  
  7. public class ShowThread extends Activity {  
  8. ProgressBar bar;  
  9. Handler handler = new Handler() {  
  10. @Override  
  11. public void handleMessage(Message msg) {  
  12. bar.incrementProgressBy(5);  
  13. }  
  14. };  
  15. boolean isRunning = false;  
  16. /** Called when the activity is first created. */  
  17. @Override  
  18. public void onCreate(Bundle savedInstanceState) {  
  19. super.onCreate(savedInstanceState);  
  20. setContentView(R.layout.main);  
  21. bar = (ProgressBar) findViewById(R.id.progress);  
  22. }  
  23. @Override  
  24. protected void onStart() {  
  25. super.onStart();  
  26. bar.setProgress(0);  
  27. Thread background = new Thread(new Runnable() {  
  28. @Override  
  29. public void run() {  
  30. for (int i = 0; i < 20 && isRunning; i++) {  
  31. try {  
  32. Thread.sleep(1000);  
  33. } catch (InterruptedException e) {  
  34. }  
  35. handler.sendMessage(handler.obtainMessage());  
  36. }  
  37. }  
  38. });  
  39. isRunning = true;  
  40. background.start();  
  41. }  
  42. @Override  
  43. protected void onStop() {  
  44. super.onStop();  
  45. isRunning = false;  
  46. }  

小結(jié):

當(dāng)?shù)谝淮螁?dòng)一個(gè)android程序是,android會(huì)自動(dòng)創(chuàng)建一個(gè)稱為“main”主線程的線程。這個(gè)線程很重要,因?yàn)樗?fù)責(zé)吧時(shí)間分派到相應(yīng)對(duì)控件,其中就包括屏幕繪圖時(shí)間,它同樣是用戶與android控件交互的線程。

【編輯推薦】

Android 計(jì)時(shí)器Timer用法

Android智能手機(jī)操作系統(tǒng)

常用的Android指令和模擬器參數(shù)

用C#實(shí)現(xiàn)HTTP協(xié)議下的多線程文件傳輸

SQL點(diǎn)滴之收集SQL Server線程等待信息

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2021-06-17 06:57:10

SpringBoot線程池設(shè)置

2023-11-06 07:51:24

C++線程編程

2012-01-16 09:00:56

線程

2019-09-26 10:19:27

設(shè)計(jì)電腦Java

2023-10-26 08:25:35

Java線程周期

2024-10-11 16:57:18

2024-04-02 09:53:08

線程池線程堆棧

2022-09-06 08:25:13

線程異步任務(wù)

2022-10-12 09:01:52

Linux內(nèi)核線程

2024-08-29 08:54:35

2024-06-13 09:30:33

Java線程池線程

2023-02-02 08:56:25

線程池線程submit

2025-02-05 14:28:19

2012-02-21 14:14:47

Java

2010-02-05 15:22:14

2011-06-02 17:27:49

iphone 多線程

2024-10-12 09:35:11

Redis版本線程

2021-03-12 10:58:59

云計(jì)算IT技術(shù)

2025-02-26 07:26:29

2009-03-16 15:47:16

Java線程多線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 狠狠亚洲 | 亚洲精品乱码久久久久久蜜桃91 | 91佛爷在线观看 | 欧美国产免费 | 亚洲经典一区 | 亚洲精品九九 | 欧美激情一区 | 天天噜天天干 | 日韩欧美中文字幕在线视频 | 性色视频 | 亚洲激情一区二区 | 日韩在线欧美 | av在线影院 | 亚洲视频在线观看 | 久久九七 | 精品国产一区二区国模嫣然 | 日韩精品在线看 | 一级a爱片性色毛片免费 | 欧美日韩视频在线 | 精品一区国产 | 亚洲一二三区精品 | 中文字幕1区 | 91精品国产综合久久久久蜜臀 | 手机看片1 | 色婷婷久久久亚洲一区二区三区 | 国产精品精品视频一区二区三区 | 日韩精品一区二区三区视频播放 | 亚洲精品一区二区三区 | 91麻豆精品国产91久久久久久久久 | 热久久999 | 国产一区二区在线视频 | 中文字幕1区2区3区 日韩在线视频免费观看 | 精品国产综合 | 日韩男人天堂 | 国产精品久久久久av | 最新日韩欧美 | 国产在线一区二区三区 | 国产不卡视频 | 99爱在线视频| 国产在线播 | 亚洲精品1区 |