解决问题总结
1 排除了解所有页面函数逻辑,业务逻辑的想法
2 缩小范围:定位一个主要问题的地方
3 比较这个地方,与其他地方的差异
kotlin
1 当看到一个bug.会本能恐惧,会想到熟悉所有的业务,会去:
时间: 代码熟悉: 4个小时
1 每个函数/相关函数的代码含义
1.2 由于层级,引用关系 会有大量的需要熟悉的函数
时间: 逻辑梳理: 1个小时
从大量的数据中,缩小到很小范围
时间:10分钟
解决问题
方案 二
时间: 15分钟
查看报错地方,判断最可能原因
时间: 15分钟
比较这个地方的代码,与其他代码的差别。并根据差别修改。
修改前:
关闭switch:
2026-07-06 13:12:10.123 24386-24386 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= null
2026-07-06 13:12:10.123 24386-24386 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = null
2026-07-06 13:12:10.123 24386-24386 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = null
打开switch:
2026-07-06 13:12:52.120 24386-24386 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= null
2026-07-06 13:12:52.120 24386-24386 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = null
2026-07-06 13:12:52.120 24386-24386 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = null
修改后:
关闭switch:
2026-07-06 13:10:54.072 23406-23406 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= 23
2026-07-06 13:10:54.072 23406-23406 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = null
2026-07-06 13:10:54.073 23406-23406 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = SoundEffectItem(cPic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, index=3, name=超重低音, pic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, sdkId=501, sdkType=1, spic=, vipFlag=0, url=, md5=)
打开switch:
2026-07-06 13:11:07.662 23406-23406 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= 23
2026-07-06 13:11:07.662 23406-23406 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = 501
2026-07-06 13:11:07.663 23406-23406 music com.xx.qq.cc I SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = SoundEffectItem(cPic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, index=3, name=超重低音, pic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, sdkId=501, sdkType=1, spic=, vipFlag=0, url=, md5=)
修复复杂bug
应该不是抱着了解所有业务逻辑角度
定位主要问题的地方->比较这个地方的差异->尝试修改代码,解决问题->打印log,自测,完成