時間指定されたスペースで 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
これにより、パフォーマンスが低下していると思われます。お互いの後にアクションの時間を計るより良い方法はありますか?