1. 程式人生 > >Timer、CountDownTimer引發的自動結束通話問題(有價值)

Timer、CountDownTimer引發的自動結束通話問題(有價值)

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()
    }