中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android中Handler小例子

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

     在Android中,如果你的應(yīng)用有一段時間響應(yīng)不夠靈敏,系統(tǒng)會向用戶顯示一個稱作為應(yīng)用程序無響應(yīng)(ANR:Application Not Responding)對話框。用戶可以選擇“等待”而讓程序繼續(xù)運行,也可以選擇“強制關(guān)閉”。一個合理的APP中不能也不應(yīng)該出現(xiàn)ANR。導(dǎo)致原因就是安卓UI主線程中不能進行耗時操作(網(wǎng)絡(luò)請求,文件下載等),比如在android中Activity的最長執(zhí)行時間是5秒,BroadcastReceiver的最長執(zhí)行時間則是10秒,否則ANR就會不期而遇。這時我們就要用到異步處理工具。Handler主要是按計劃發(fā)送消息或執(zhí)行某個Runnanble,從非UI線程中發(fā)送來的消息放入消息隊列中,然后通過處理消息更新UI線程)。

例子1,用Handler來更新UI線程:


public class HandlerActivity extends Activity {
public static final int HANDLER_MESSAGE = 1;
private TextView mContentTv;
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case HANDLER_MESSAGE:
mContentTv.setText("此時更新了數(shù)據(jù)");
break;
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContentTv=(TextView) findViewById(R.id.t_title);
}
class myThread implements Runnable {
public void run() {
while (!Thread.currentThread().isInterrupted()) {
Message message = new Message();
message.what = HANDLER_MESSAGE;
mHandler.sendMessage(message);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
}
}
}


例子1,用Handler來完成定時(周期性)操作(當然可以用Timer,TimerTask及Android自帶的AlarmManage):

public class HandlerActivity extends Activity {
private TextView mContentTv;
private Handler handler = new Handler();
private int mCounter = 0;
private Runnable mRunnable = new Runnable() {
public void run() {
handler.postDelayed(this, 5000);// 5秒后操作
mCounter++;
mContentTv.setText("Count: " + mCounter);


}
};


@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContentTv = (TextView) findViewById(R.id.t_title);
handler.post(mRunnable);
}
}


標簽: ssl 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇: android中WebView調(diào)用js

下一篇:Android本地數(shù)據(jù)操作