В моем приложении я использую NFC для чтения данных карты NFC. После чтения загрузка ЦП увеличивается при каждом чтении, даже если я отключаю действие, в котором я использую NFC. Это происходит только в режиме отладки приложения. если я использую режим выпуска, проблем с производительностью приложения нет. Это нормальное поведение или нет?
Я уже выполняю DisconnectReader(), DisableNFCReaderMode() и unRegister() NFC после использования. Вот функции.
override fun disconnectReader(): Boolean {
"disconnectReader()".toLog(TAG)
try {
tagEventListener?.isoDep?.close()
nfcManager.disableNFCReaderMode()
tagEventListener?.isoDep = null
setCardTappedStatus()
return true
} catch (ignored: IOException) {
"disconnectReader() -> IOException ${ignored.message}".toLog(TAG)
return false
} catch (ignored: NullPointerException) {
"disconnectReader() -> NullPointerException ${ignored.message}".toLog(TAG)
return true
}
}
fun disableNFCReaderMode() {
"disableNFCReaderMode(${mActivity.isFinishing})".toLog("NFCManager")
if (!mActivity.isFinishing) {
nfcAdapter?.disableReaderMode(mActivity)
"disableForegroundDispatch(): ${mActivity.javaClass.name}".toLog("NFCManager")
nfcAdapter?.disableForegroundDispatch(mActivity);
}
}
fun unRegister() {
"unRegister()".toLog(TAG)
nfcStatusLiveData.removeObservers(activity)
appSettingLauncher?.unregister()
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... ndroid-app