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

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. nodeJs + js 大文件分片上传

    简单的文件上传 一.准备文件上传的条件: 1.安装nodejs环境 2.安装vue环境 3.验证环境是否安装成功 二.实现上传步骤 1.前端部分使用 vue-cli 脚手架,搭建一个 demo 版本, ...

  2. ios企业签名为什么会掉签?

      我们都知道ios用户无法直接安装App Store之外的应用,对于那些无法上架苹果应用商店的APP,开发者们一般会选择苹果签名的形式.   目前的苹果签名有ios企业签名.超级签名和TF上架这三种 ...

  3. ASP.NET Core Logging Solution

    Serilog.Extensions.Logging.File This package makes it a one-liner - loggerFactory.AddFile() - to con ...

  4. 使用MPI进行分布式内存编程(2)

    MPI的英文全称为message passing interface,中文名为消息传递接口,他不是一种新的语言,而是一个可以被C,C++,Fortran程序调用的库. 预备知识 1.编译与执行 使用类 ...

  5. “随手记”开发记录day19

    将软件推荐给父母,先尝试使用软件,观察bug,若有啥不足的,才能及时修改.

  6. Python使用socketServer包搭建简易服务器过程详解

    官方提供了socketserver包去方便我们快速的搭建一个服务器框架. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的 ...

  7. javascript 简单、繁杂类型、栈、堆笔记

    简单数据类型     值类型:在存储变量中的是值本身     简单数据类型 null返回的是空的对象     string,number,Boolean,undefined,null 繁杂数据类型   ...

  8. C#LeetCode刷题之#766-托普利茨矩阵(Toeplitz Matrix)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3748 访问. 如果一个矩阵的每一方向由左上到右下的对角线上具有相 ...

  9. Azure认知服务之表格识别器

    认知服务 Azure 认知服务的目标是帮助开发人员创建可以看.听.说.理解甚至开始推理的应用程序. Azure 认知服务中的服务目录可分为五大主要支柱类别:视觉.语音.语言.Web 搜索和决策.开发人 ...

  10. P6087 [JSOI2015]送礼物 01分数规划+单调队列+ST表

    P6087 [JSOI2015]送礼物 01分数规划+单调队列+ST表 题目背景 \(JYY\) 和 \(CX\) 的结婚纪念日即将到来,\(JYY\) 来到萌萌开的礼品店选购纪念礼物. 萌萌的礼品店 ...