在我的代码的特定部分需要在一个定时空间中运行 3 个动作,现在我正在使用这种方法:
Handler mHander = new Handler();
public void startChainActions(){
// do first action
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
//do action 2
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
//do action 3
}
}
}, 1500);
}
}
}, 5000);
}
public void cleanResources(){
mHandler.removeCallbacksAndMessages(null);
mHandler==null
}
使用此方法时,我经常在我的 logcat 上看到此消息:
W/art﹕ Suspending all threads took: 12.272ms
这让我相信它正在降低性能。有没有更好的方法来计时行动?