我正在使用Handler和Runnable重複歌曲的一段,但它似乎耗盡了手機的電池,因爲它正在檢查每毫秒。這裏是我的代碼:有沒有什麼辦法可以提高使用Handler和Runnable的性能?
每當用戶啓動循環我做到以下幾點:
anotherHandler.post(mPlayLoopTask);
anotherHandler在頂部」,宣佈了一個全局變量
private Handler anotherHandler = new Handler();
這裏是我的Runnable:
private Runnable mPlayLoopTask = new Runnable() {
public void run()
{
if(mp != null)
{
if(isLoopOn && start_position != -1 && end_position != -1)
{
long currentPosition = mp.getCurrentPosition();
if(currentPosition >=end_position)
{
mp.seekTo(start_position);
}
}
anotherHandler.post(this);
}
}
};
有沒有什麼辦法來提高性能?
但我需要檢查每毫秒如果當前位置已通過哪些用戶已採摘結束位置。這就是爲什麼隊列中總是有一個可運行的原因。我無法實現使用AsyncTask。 – user1777661 2013-03-05 03:20:52
你確定你需要一毫秒的準確度。 如果每250毫秒檢查一次,用戶將聽不到差異。 – Hartok 2013-03-05 03:46:56
Dooh ..沒想到那個。感謝您的輸入! – user1777661 2013-03-05 04:14:25