导唱功能:需求点分析:本地已下载歌曲播放,判断是否有音频原唱伴奏版权,无版权按钮显示“导唱”,有版权显示“播原唱”。
程序实现逻辑:

1.下载歌曲时调用一个歌曲信息接口,返回歌曲的一些属性信息,其中包括伴奏原唱版权,有版权下发1,无版权下发0.
  2.客户端下载歌曲时,歌曲信息下载下来后会写入本地缓存cache中,当播放歌曲时从缓存读取歌曲信息,根据服务器下发的歌曲的属性值判断导唱按钮的显示。

问题现象:新下载的歌曲播放时,播原唱/导唱 功能按钮判断正确,当杀死app重启后再播放,判断就出问题。

原因分析:歌曲下载后只写入了缓存cache中,但未同时更新到数据库中。所以重启app后缓存被清除,本地已下载歌曲判断时取到了之前的值,导唱按钮就出问题了。

2.用户未登录账号进入直播间,在公屏中选择用户头像长按进行@操作,并发送消息。

问题现象:游客身份用户出现了可@用户并发言的问题,发出去后显示用户头像和null

原因分析:代码逻辑处理未判断用户为游客时屏蔽@操作

3.在线歌友状态更新的bug

问题现象:歌友A和歌友B是好友关系,歌友A在直播间时,歌友B查看在线歌友列表中会出现歌友A正在房间的状态。当歌友A异常杀死app或断网(即调用退出房间接口失败)后,歌友B查看在线歌友列表中仍显示歌友A在直播间中。

原因分析:因歌友A的异常离开房间,客户端未能正常调用接口上报状态。服务器无法正确判断该用户已离开房间

处理方案:服务器定时扫描所有用户在线的房间列表,处理掉不在线的

1.本地作品集封面显示花屏。手机性能差的上面易出现。bitmap多线程问题。

操作步骤:在本地作品集中不断的刷新列表,让每个视频的封面每次重新加载显示

问题现象:不断刷新读取封面图,会越来越模糊,图片数据丢失导致花屏

问题原因分析:程序机制是:列表中的视频封面默认读取cache中存储的一张.jpg格式的封面图,如果cache中没有就会去读取默认图。

1.每次刷新列表,就会从cache中读取对应的封面图,当手机性能比较差,不停的刷新就会导致线程繁忙,每次读取的cache中图片文件当处于还在写入的状态时,此时就读取出来是不完整的bitmap data,就显示花了。

2.刷新列表读取缓存中的图片,会*98%进行压缩存储一个新图来做显示,同时保存了压缩后的图到缓存,导致下次刷新读取缓存取的是压缩后的,如此循环多次刷新,读取的图会越来越小不清晰,最后全花了。

解决办法:1.读取缓存时加判断,正在写的文件不读取。

2.增加remove,每次显示完后保存的那张压缩图会被移除,下次刷新重新读取缓存中的图片(未被压缩)。

重要bug记录的更多相关文章

  1. 【bug记录】OS Lab3 踩坑记

    OS Lab3 踩坑记 Lab3在之前Lab2的基础上,增加了进程建立.调度和中断异常处理.其中测试包括进程建立以及进程调度部分. 由于是第一次做bug记录,而且是调试完bug后再做的记录,所以导致记 ...

  2. 微信小程序bug记录与解决

    微信小程序bug记录 textarea textarea在模拟器上没有padding,可是在真机上会自带padding,而且在外部改不了,并且在安卓和IOS上padding还不一样 第一张图是在开发工 ...

  3. BUG 记录:移位运算与扩展欧几里得算法

    BUG 记录:移位运算与扩展欧几里得算法 起因 上个月就开始打算用C++写一个ECC的轮子(为什么?折磨自己呗!),奈何自己水平有点差,拖到现在才算写完底层的大数运算.在实现欧几里得算法的时候,我开始 ...

  4. ArcGIS 10.1 BUG记录

    声明:笔者使用ARCGIS 10.1 XXX版,YYY版可能没有此处描写的问题 1. 关于注册数据库 发布启用FA的服务,需要为数据库进行ArcGIS Server注册,若通过ArcMap执行注册,会 ...

  5. 前端bug记录---不定时更新

    在项目的开发中难免遇到各种各样的bug,我觉得还是有必要记录一下的,方便日后查询. safari window resize  为满足日常轮播需求,做一个符合当前业务的轮播插件,其中需要考虑windo ...

  6. bug记录-setTimeout、setInterval之IOS7

    本篇文章主要讲查找并分析bug的思路,相关的函数不是本文的重点. 众所周知,setTimeout和setInterval是用来做延迟调用以及周期性调用的方法,他们支持的参数都差不多. setTimeo ...

  7. CDH:5.14.0 中 Hive BUG记录

    CDH5.14.0使用的HIVE版本: 自建表log: +----------------------------------------------------+--+ | createtab_st ...

  8. 【bug记录】OS Lab4 踩坑记

    OS Lab4 踩坑记 Lab4在之前Lab3的基础上,增加了系统调用,难度增加了很多.而且加上注释不详细,开玩笑的指导书,自己做起来困难较大.也遇到了大大小小的bug,调试了一整天. 本文记录笔者在 ...

  9. 前端bug记录

    记录一下前端入门时期遇到的一些bug. 1.同步.异步问题 背景:Javascript语言的执行环境是单线程.即一次只能完成一个任务.若有多个任务则需排队逐个执行——前一个任务完成,再执行后一个任务. ...

  10. dubbo服务使用spring-data-mongodb进行时间查询的bug记录

    一.项目情况:spring-boot+mongodb+dubbo. 二.问题:调用dubbo服务并使用spring-data-mongodb的gte,lte时间段比较查询, @Reference(re ...

随机推荐

  1. Maven 配置编译版本

    pom.xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</gro ...

  2. Python 告诉你疫情扩散有多可怕

    今年(2020年)是注定要铭记史册的一年,从年初开始新冠疫情,席卷了全球,中国人民众志成城,为战胜疫情做出了巨大牺牲.最近北京疫情形式又变得严峻,面对疫情我们不能掉以轻心.今天我们模拟一下病毒的扩散过 ...

  3. Java高级篇 JVM

    JVM是什么? JVM起了什么作用? JVM包含了什么? JVM中, 一个类 程序是怎么加载的? JVM中垃圾回收机制?

  4. 2020-03-25:快排、堆排和归并都是O(nlog n)的算法,为何JDK选择快速排序?

    福哥答案2020-03-26: 口诀如下:冒选插希快 堆归计桶基(冒泡,选择,插入,希尔,快速,堆,归并,计数,桶,基数)冒线 平平 稳常小选平 平平 不常小插线 平平 稳常序希线 四组 不常组快四 ...

  5. C#设计模式之3-建造者模式

    建造者模式(Builder Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/393 访问. 建造者模式属 ...

  6. 利用BeautifulSoup去除HTML指定标签和去除注释

    去除指定标签 from bs4 import BeautifulSoup #去除属性ul [s.extract() for s in soup("ul")] # 去除属性svg [ ...

  7. Kerberos认证原理及基于Kerberos认证的NFS文件共享

    目录 Kerberos认证原理 简介 client访问server过程 一.Authentication Service Exchange (AS Exchange) 二.Ticket Grantin ...

  8. 调试备忘录-RS485 MODBUS RTU协议简述

    目录--点击可快速直达 目录 写在前面 先简单说下什么是MODBUS? 参考文章 写在前面 最近在做和物联网有关的小项目,有一个传感器通讯用到了RS485 MODBUS RTU协议,所以就写个随笔记录 ...

  9. 利用 Github Actions 自动更新 docfx 文档

    利用 Github Actions 自动更新 docfx 文档 Intro docfx 是微软出品一个 .NET API 文档框架,有一个理念是代码即文档,会根据项目代码自动生成 API 文档,即使没 ...

  10. 通过CMD远程操作Linux系统

    一.文件传输 方法:使用sftp连接方式,sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性 命令: //登入:sftp username@ip sftp ...