重要bug记录
导唱功能:需求点分析:本地已下载歌曲播放,判断是否有音频原唱伴奏版权,无版权按钮显示“导唱”,有版权显示“播原唱”。
程序实现逻辑:
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记录的更多相关文章
- 【bug记录】OS Lab3 踩坑记
OS Lab3 踩坑记 Lab3在之前Lab2的基础上,增加了进程建立.调度和中断异常处理.其中测试包括进程建立以及进程调度部分. 由于是第一次做bug记录,而且是调试完bug后再做的记录,所以导致记 ...
- 微信小程序bug记录与解决
微信小程序bug记录 textarea textarea在模拟器上没有padding,可是在真机上会自带padding,而且在外部改不了,并且在安卓和IOS上padding还不一样 第一张图是在开发工 ...
- BUG 记录:移位运算与扩展欧几里得算法
BUG 记录:移位运算与扩展欧几里得算法 起因 上个月就开始打算用C++写一个ECC的轮子(为什么?折磨自己呗!),奈何自己水平有点差,拖到现在才算写完底层的大数运算.在实现欧几里得算法的时候,我开始 ...
- ArcGIS 10.1 BUG记录
声明:笔者使用ARCGIS 10.1 XXX版,YYY版可能没有此处描写的问题 1. 关于注册数据库 发布启用FA的服务,需要为数据库进行ArcGIS Server注册,若通过ArcMap执行注册,会 ...
- 前端bug记录---不定时更新
在项目的开发中难免遇到各种各样的bug,我觉得还是有必要记录一下的,方便日后查询. safari window resize 为满足日常轮播需求,做一个符合当前业务的轮播插件,其中需要考虑windo ...
- bug记录-setTimeout、setInterval之IOS7
本篇文章主要讲查找并分析bug的思路,相关的函数不是本文的重点. 众所周知,setTimeout和setInterval是用来做延迟调用以及周期性调用的方法,他们支持的参数都差不多. setTimeo ...
- CDH:5.14.0 中 Hive BUG记录
CDH5.14.0使用的HIVE版本: 自建表log: +----------------------------------------------------+--+ | createtab_st ...
- 【bug记录】OS Lab4 踩坑记
OS Lab4 踩坑记 Lab4在之前Lab3的基础上,增加了系统调用,难度增加了很多.而且加上注释不详细,开玩笑的指导书,自己做起来困难较大.也遇到了大大小小的bug,调试了一整天. 本文记录笔者在 ...
- 前端bug记录
记录一下前端入门时期遇到的一些bug. 1.同步.异步问题 背景:Javascript语言的执行环境是单线程.即一次只能完成一个任务.若有多个任务则需排队逐个执行——前一个任务完成,再执行后一个任务. ...
- dubbo服务使用spring-data-mongodb进行时间查询的bug记录
一.项目情况:spring-boot+mongodb+dubbo. 二.问题:调用dubbo服务并使用spring-data-mongodb的gte,lte时间段比较查询, @Reference(re ...
随机推荐
- .net core编写转发服务(二) 添加服务发布订阅
源设计就单纯完成了把服务转发到特定的服务模块,一定程度上解耦了业务流程 但是我们实际开发过程中会面临服务转发后还有一些列关联的服务 举个例子 你调用了发送邮件的服务,接下来会面临扣费的服务,扣费之后会 ...
- 在不同网段使用 VLAN 通信 - SVI,单臂路由
在 VLAN 这篇文章中知道,设置 VLAN 目的是隔离大型的广播域,将其分成很小的广播域,从而更好的管理.但也就带来了一些问题:如流量不能在不同的 VLAN 间通信. 而为了解决这个问题,可以采用如 ...
- spring security 简介+实战
过滤器链: 依赖: security 功能列表: 一.登录验证.权限验证 1.1 httpbasic验证 1.2form验证 建立数据需要遵循RBAC模型 用户表要参考UserDetail创建 实例类 ...
- java二进制表示形式与移位操作符
java二进制表示形式 java中数字的二进制表示形式称为"有符号的二进制补码",下面先介绍原码,反码,补码. 编码 计算方法 原码 用最高位表示符号位,'1'表示负号,'0'表示 ...
- python header设置随机user_agent
1 安装 fake_useragent pip install fake_useragent 2 使用 # -*- coding:utf-8 -*- from fake_useragent impor ...
- 使用树莓派搭建LoRaWAN网关并接入腾讯云物联网开发平台
安装树莓派环境 制作镜像 下载img文件烧录器 传送门:img文件烧录器地址,下载完成之后双击安装 下载镜像文件 传送门:树莓派系统镜像 推荐下载这个版本的img,因为有桌面,并且大小适中. 下载完之 ...
- Docker日常使用方式
前提 在安装docker之前,建议你设置系统的国内镜像源先哦,很快~嗯,快. 阿里云镜像源:https://developer.aliyun.com/mirror/ 安装 安装docker 下面都是官 ...
- java 二分查找的注意事项
二分查找也是最简单的算法之一了.但是最近发现一般的写法会有问题. public int search(int[] nums, int target) { int left = 0; int right ...
- golang container/list 使用
原文链接:http://cngolib.com/container-list.html(中文),https://golang.org/pkg/container/list/(英文) 示例: packa ...
- random模块python
random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.random() 用于生成一个随机浮点数:range[0.0,1.0) ? 1 2 import ran ...