Ⅰ 一個android Timer,為什麼只執行了一次
public void getPaisong() {
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1: {
// 初始化搜索模塊,注冊事件監聽
mSearch = new MKSearch();
mSearch.init(app.mBMapMan, new MyMKSearchListener());
jiexi();
cou++;
Toast.makeText(
BMapApiDemoApp.mDemoApp.getApplicationContext(),
"執行了"+cou+"一次!", Toast.LENGTH_LONG).show();
}
break;
}
super.handleMessage(msg);
}
};
TimerTask task = new TimerTask() {
public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
timer = new Timer(true);
timer.schele(task, 5000); // 延時1000ms後執行,1000ms執行一次
// timer.cancel(); //退出計時器
}
我在oncreate方法里直接調用了getPaisong()方法,可是只顯示cou=1
Ⅱ 一個android Timer,為什麼只執行了一次
通過 timer.schele執行的?那注意參數寫法, timer.schele(task,1000,5000),表示1秒後開始,5秒為周期,循環執行, timer.schele(task,5000),表示5秒後執行一次結束。
Ⅲ focustimer安卓能用嗎
可以
FocusTimer安卓中文版是一款提升工作效率的軟體,這款軟體跟著名的番茄應用Focus Time僅一個字母的差別,功能方面也是不輸於Focus Time。這款軟體最大的特色就是翻轉手機來專注於當前的任務,你需要專心完成當前的工作,每次翻轉手手機代表開始一項新的工作,作為一款提升工作效率的軟體還是相當實用的。
Ⅳ 如何定時刷新Android界面
Handler.sendEmptyMessageDelayed(0, 1000);來實現
sendEmptyMessageDelayed:延時多少毫秒,向Handler發送信息
具體代碼和效果
每隔1秒刷新一次時間
Ⅳ android用timer做定時任務,崩潰的原因
在做定時任務的時候,有的同學可能能會用到Timer這個定時任務的輔助類,
但是使用它會有潛在的風險,風險如下,
(1)時間計算不準確問題
因為Timer是以絕對時間計算定時任務的,會受到系統時間的影響,如果在任務執行期間,更改了系統時間,那麼會
導致時間計算不準確問題,導致任務沒用按找預定的時間執行。
(2)只能單任務執行
簡單講就是,只能一次執行一個任務,如果前一個任務沒有執行完成,後一個任務是無法並行執行的,只能等待前一個任務執行完成
才能執行。也有可能會出現這樣的結果,前一個任務執行的時間太長,後幾個任務時間短,可能在一個時間段內執行了多個任務,任務又
沒有按照我們要執行的時間執行。
(3)非檢查異常導致非同步任務終止
Timer當在執行的過程中遇到非檢查異常的時候,會導致本次任務失敗,並且接下來的任務也無法被執行,Timer將會終止執行,這不是
我們要的結果,我們需要一套恢復機制。
java5以後可以用下面的這個類來替代Time,並且解決了以上三個問題
java.util.concurrent.ScheledThreadPoolExecutor
那麼在Android上呢,可以用 java.util.concurrent.ScheledThreadPoolExecutor,也可以用Handler機製做,
但是不建議使用Timer
Ⅵ 求教為什麼Android Timer在後台運行,開始正常,但每次都不定時的突然結束了跪求,謝謝
應該是系統的內存的問題。