Timer、CountDownTimer引發的自動結束通話問題(有價值)
阿新 • • 發佈:2018-12-17
1、背景
本身做了一個倒計時的功能,計時3分鐘,3分鐘後自動結束通話,可是退出Activity後,Timer還在。
bug:證明Timer沒有cancel。。
2、技術實現,用的CountDownTimer
var timer: CountDownTimer? = object : CountDownTimer(3 * 60 * 1000, 1000) { override fun onFinish() { timerCancel() } override fun onTick(millisUntilFinished: Long) { voiceChatTimer.setText(formatTime(millisUntilFinished)) } }
3、bug解決辦法
override fun onDestroy() {
super.onDestroy()
if(timer != null){
timer?.cancel()
timer = null
}
mAudioMatchPresenter?.destroy()
AudioEngineManager.leaveChannel()
}