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

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. jmeter如何设置全局变量

    场景:性能测试或者接口测试,如果想跨线程引用(案例:A线程组里面的一个输出,是B线程组里面的一个输入,这个时候如果要引用),这个时候你就必须要设置全局变量;全链路压测也需要分不同场景,通常情况,一个场 ...

  2. Android监听器无法跳转的可能原因之一。。。

    主菜前的厨师前言: 各位大牛,牛崽崽,这是本牛崽第一次写博客,牛崽崽我初出茅庐,但是我会很用心的写自己的每一份随笔,写的不好的大家见谅. 今天就来说说本牛崽在实现监听器时遇到的问题: 本牛崽因为也是刚 ...

  3. 高效c/c++日志工具zlog使用介绍

    1. zlog简介 zlog的资料网上很多,这里不在详细说明:zlog是用c写的一个日志工具,非常小,而且高效,可以同时向控制台和文件中输出,日志接口与printf使用基本一样,所以使用起来很简单. ...

  4. CF1349F 【Slime and Sequences】part2

    由于本文过长,\(\LaTeX\) 炸了,分两篇,part1 优化 我们假装不会欧拉数的通项式(其实是因为它的通项式不容易继续优化?),使用容斥代替掉欧拉数 设 \(\begin{vmatrix}n\ ...

  5. Spring学习之——手写Spring源码V2.0(实现IOC、D、MVC、AOP)

    前言 在上一篇<Spring学习之——手写Spring源码(V1.0)>中,我实现了一个Mini版本的Spring框架,在这几天,博主又看了不少关于Spring源码解析的视频,受益匪浅,也 ...

  6. Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现

    Spring中事务的使用示例.属性及使用中可能出现的问题 前言 本专题大纲如下: 对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细,本来是想在源码分析的文章中附带讲一讲事务使用中的 ...

  7. C# ASP 上传/下载文件

    1.  上传文件前台页面 <div style="padding-left:20px;"> <asp:FileUpload ID="FileUpload ...

  8. java 异常一

    一 异常的继承体系 在Java中使用Exception类来描述异常. 查看API中Exception的描述,Exception 类及其子类是 Throwable 的一种形式,它用来表示java程序中 ...

  9. Visual Studio 2017版本15.9现在可用

    本文转自 https://blogs.msdn.microsoft.com/visualstudio/2018/11/19/visual-studio-2017-version-15-9-now-av ...

  10. C#LeetCode刷题之#682-棒球比赛(Baseball Game)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4028 访问. 你现在是棒球比赛记录员. 给定一个字符串列表,每个 ...