Android进阶之旅(第5天)

充实的一天又过去了,今天真的好冷啊,我们这里雪很大,早上最傻逼的决定就是穿了一个短的棉袜出来,漏脚踝,冷成傻子

接下来老规矩,看下昨天计划的完成情况:

今日计划:

1.过bug

2.看CameraX的文档

3.搞懂Glide加载图片闪烁的问题

除了2,都完成了

没看2的原因是因为去看毕设了,然后今天是发布日,结果推到明天了(明天也够呛)

因为临近发布,还是多帮点忙,虽然帮不上啥忙,但还是尽点力,哪怕是多沟通一点呢

上午主要是看bug,主要是解决了一个图片展示过小的bug(另一个机型说展示不下)

然后因为马上发布了,就把之前努力的记录(也就是工作沟通记录)和自己解决的bug着重看了看

下午核心是处理了一个模拟器音频播放回退的问题,最终把问题定位到是底层service(为了解决这个问题看了好多文章,发现好多大佬,下面是对我最有帮助的一个文章):

Android MediaPlayer播放器暂停3秒后恢复播放时视频会倒退几秒才开始播放问题源码分析和解决方案_音频暂停后恢复会后退1s吗-CSDN博客

这个大佬发了好多关于底层的framework代码,高深的很,感觉好厉害

然后是解决了一个Toolbar中的箭头与title太远的bug,用的是这个属性:

app:contentInsetStartWithNavigation="0dp"(其实是前辈告诉我的)

相关文章:解决Toolbar的NavigationIcon和Title间距离过长的问题 - 简书

其实更多的是看代码和思考,甚至对RxJava的理解更深了

比如有一句代码:.map(time -> MusicPlayer.position())

time是long型,后面的那个是个方法,这是什么狗屁map

问了另一个前辈,给我解释这相当于传了个空值,也就是直接拿后面方法返回的值,time并没有用上

工作上更多是沟通和研究,真写代码也轮不上我(我写的也很菜)

然后就是忙里偷闲搞了会毕设,直接把今天的git记录粘过来:

新增noteBook修改已添加数据(pocketBook未处理,而且还存在一个小bug)  2024.02.21  30 minutes ago
新增noteBook修改已添加数据(pocketBook未处理,而且还存在一个小bug)  2024.02.21  31 minutes ago
fix:share异常  2024.02.21 50 minutes ago
fix:notebook删除数据无效 2024.02.21 Today 17:53
NoteBook暂时不用Glide加载图片(会出现bug,正在找原因) 2024.02.21  Today 11:26

第一个不用解释了,第二个notebook删除数据无效这个是纯纯狗屎bug,基本上用完了我一天的空闲时间

这个bug按我解决的路程给大家讲一下,他真的巨臭

首先我发现删除数据无效,第一时间打断点看哪出现了问题

首先定位到的是最后selectList返回的是0

我就在selectListadd和remove的时候加上了debug

结果直接闪退了

不用看肯定是空指针

于是开始定位,你看下我打的debug就知道断了多久了:

当然log是比较后的事了,最开始用的debug

debug到id是-1,position是正常的,我直接人懵了

自己用手机测的时候发现切换ViewPager的时候recycView位置变换了

我直接把Glide改回去,果然没bug了(后来还是有,可能这个时候已经出问题了哈哈哈)

然后我一猜肯定是position改变导致id变了,因为哪个positiion一直给我爆红,说什么会变

我直接出手,把position都改为了getAdapterPosition

我信心满满的去测,还是有问题

我心想可能是selectMode的问题

就把Pause后的exit去掉了(因为可能是还没传list就exit了)

(我写文章的时候察觉到还没给他改回来哈哈哈,改回去)

我冷静下来了,于是就按上面那个图那样打了一堆Log

定位到,删除的时候传过去的playList是空的

但是我又怀疑是recycleViewAdapter初始化覆盖了?

又是我去看相关部分的代码,结果没问题

那我只能接着看Log,Log定位到selectList为空

我害怕是传的时候有问题,就又打了个:

果然传的时候没问题(真谨慎哈哈)

那么就确定是recycleViewAdapter的问题

接着定位,发现selectList每次改的时候还没问题,到最后return就gg了

于是我直接吧他的初始化加了判空,只给他初始化一次

你还别说,这一改问题真没了(虽然我已经不确定是不是这里改好了,不过按我的理解应该是对的)

之后就是修复了share的异常然后加了一个更改数据的功能(曾经对我遥不可及,现在也就撒撒水)

但是还有一点bug,就留到明天fix

那么定下明天计划:

1.帮忙处理bug(虽然帮不上啥忙)

2.加好更改数据的功能

3.看文章或者文档(暂时未定)

还有昨天满心欢喜的回去看BLG,结果被干碎,还是有点失落的

不过马上就可以回学校住了,能见室友了(虽然只有晚上和周末)

那么还有半个小时左右,看看晚上吃啥,再看会文章,8点开润

还是老规矩,祝大家享受自己的一天

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/487618.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter基础(3) 发起一次请求

目录 Jmeter 一次请求添加线程组添加HTTP请求添加监听器 Jmeter 一次请求 用Jmeter进行一次请求的过程,需要几个步骤呢? 1、添加线程组2、添加HTTP请求3、添加监听器,查看结果树 现在就打开jmeter看下如何创建一个请求吧 添加线程组 用来…

代码随想录算法训练营day24|理论基础、77. 组合

理论基础 题目链接/文章讲解:代码随想录 视频讲解:带你学透回溯算法(理论篇)| 回溯法精讲!_哔哩哔哩_bilibili 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归…

基于HC32F4A0伺服驱动提高pwm 开关频率的一种方法

原驱动器默认设定的PWM最大工作频率为20kHz,在这种配置下,电流检测机制是与PWM定时器同步的,即每当PWM周期循环一次时,ADC便会触发一次电流采样。与此同时,伺服控制算法也以每50微秒(对应于20kHz&#xff0…

微服务三十五关

1.微服务有什么好处? 微服务优点很多,但是我们通常说一个东西好肯定会跟另一个东西比较, 通常说微服务好会和单体项目进行比较。以下是微服务相对于单体项目的一些显著好处: 首先,让我们讨论单体项目的一些主要缺点&a…

Spring工厂API与原理

文章目录 1. Spring 核心 API2. 程序开发3. 细节分析3.1 名词解释3.2 Spring⼯⼚的相关的⽅法3.3 配置⽂件中需要注意的细节 4. Spring⼯⼚的底层实现原理(简易版)5. 思考 1. Spring 核心 API ApplicationContext 作⽤:Spring 提供的 ApplicationContext 这个⼯⼚…

【Java程序设计】【C00267】基于Springboot的在线考试系统(有论文)

基于Springboot的在线考试系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 本系统是基于Springboot的在线考试系统;本系统主要分为管理员、教师和学生三种角色; 管理员登录系统后,可以对首页&#x…

vue 手势解锁功能

效果 实现 <script setup lang"ts"> const canvasRef ref<HTMLCanvasElement>() const ctx ref<CanvasRenderingContext2D | null>(null) const width px2px(600) const height px2px(700) const radius ref(px2px(50))const init () > …

Java字符集【ASCII,GBK,Unicode】

1.常见字符集 1.标准ASCII字符集 美国信息交换标准代码&#xff0c;包括了英文、符号等。 标准ASCII使用1个字节存储一个字符&#xff0c;首位是0&#xff0c;总共可表示128个字符&#xff0c;对美国人来说完全够用。 2.GBK&#xff08;汉字内码扩展规范&#xff0c;国标&#…

【GB28181】wvp-gb28181-Pro 运行错误汇总避坑大全(持续更新)

快捷查找 1、【问题】终端控制台打印的日志乱码 1、【问题】终端控制台打印的日志乱码 【解决】 由于windows系统默认编码是gbk,导致jar包在windows系统运行中文会导致乱码 控制台日志乱码&#xff1a; 打开cmd命令框&#xff0c;输入以下命令 chcp 65001 更改cmd的编码为UTF-8…

反序列化 [NPUCTF2020]ReadlezPHP1

打开题目 直接查看源代码 打开源代码发现了个./time.php?source 访问一下 审计代码&#xff1a; 现存在反序列化语句&#xff1a;$ppp unserialize($_GET["data"]);和执行漏洞&#xff1a;echo $b($a); 发现在__destruct()方法里面有 echo $b($a); 这个是php的…

Vue3项目结构分析

node_modules: 是项目npm install下载的node依赖库。 public&#xff1a; favicon.ico: 网页图标logo图片。index.html: 入口html。是一个基础的html页面&#xff0c;其中进行网页最基础的设置&#xff0c;并且设置了id为app的div盒子。该页面即为Vue单页面应用的基础页面。后…

基于Springboot实现课程评分系统设计和实现

基于java Springboot实现课程评分系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码…