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.mfbz.cn/a/407212.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7 安装Python3.8

在 CentOS 7 上,按照以下步骤安装 Python 3.8: 添加EPEL仓库:首先安装 EPEL(Extra Packages for Enterprise Linux)仓库 sudo yum install epel-release安装Software Collections (SCL)仓库:随后&#xff0…

搭建私有Git服务器:GitLab部署详解

引言: 为了方便团队协作和代码管理,许多组织选择搭建自己的私有Git服务器。GitLab是一个集成了Git版本控制、项目管理、代码审查等功能的开源平台,是搭建私有Git服务器的理想选择。 目录 引言: 一、准备工作 在开始部署GitLab之…

更新至2022年世界各国数字经济发展相关指标(23个指标)

更新至2022年世界各国数字经济发展相关指标(23个指标) 1、时间:具体指标时间见下文 2、来源:WDI、世界银行、WEF、UNCTAD、SJR、国际电联 3、指标:移动网络覆盖率(2000-2022)、固定电话普及率…

Code-Audit(代码审计)习题记录6-7

介绍: 自己懒得搭建靶场了,靶场地址是 GitHub - CHYbeta/Code-Audit-Challenges: Code-Audit-Challenges为了方便在公网练习,可以随地访问,本文所有的题目均来源于网站HSCSEC-Code Audit 6、习题6 题目内容如下: 源代…

c++入门学习⑦——继承和多态(超级详细版)

目录 前言 继承 继承是什么? 为什么会存在继承? 语法: 一些基本的定义: 三种继承方式: 对象模型 对于构造和析构的顺序 同名函数的处理方式 总结: 静态成员: 定义: 性…

雨云GPU云服务器搭建SD(Stable Diffusion)的教程,搭建自己的AI绘画网站,AIGC

雨云GPU云服务器搭建Stable Diffusion的教程,搭建自己的AI图片生成网站,AIGC Stable Diffusion是什么 Stable Diffusion是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,由CompVis、Stability…

gma 2.0.6 (2024.02.21) 更新日志

安装 gma 2.0.6 pip install gma2.0.6网盘下载: 链接:https://pan.baidu.com/s/1P0nmZUPMJaPEmYgixoL2QQ?pwd1pc8 提取码:1pc8 注意:此版本没有Linux版! 编译gma的Linux虚拟机没有时间修复,本期Linux版继…

普中51单片机学习(AD转换)

AD转换 分辨率 ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。 一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V1/(2^12 )2.4mV。 量化误差 …

创建者模式(Builder Pattern):构造复杂对象的通用解决方案

文章目录 **一、技术背景与应用场景****为何使用创建者模式?****典型应用场景包括但不限于:** **二、创建者模式定义与结构****三、使用步骤举例**四、优缺点分析总结 一、技术背景与应用场景 创建者模式是一种对象创建型设计模式,它通过将复…

国家建筑装配式内装产业基地在沪成立,副主任单位优积科技协同助推绿色低碳循环发展

上海市室内装饰行业协会装配式内装产业专业委员会成立大会暨“国家建筑装配式内装产业基地”项目启动会于3月21日下午1点在上海光大酒店隆重举行。出席此次活动的包括市装协会长徐国俭,市装协党支部书记兼秘书长丛国梁,市装协装配式内装委主任顾泰昌&…

数字化转型导师坚鹏:数据安全法解读与政府数字化转型

网络安全法、数据安全法、个人信息保护法解读与政府数字化转型 课程背景: 很多机构存在以下问题: 不清楚网络安全法、数据安全法、个人信息保护法立法背景? 不知道如何理解网络安全法、数据安全法、个人信息保护法政策? 不…

2024年 Openai的API相关全部概论汇总(通用版)

2024年 Openai的API相关全部概论汇总(通用版) 文章目录 2024年 Openai的API相关全部概论汇总(通用版)一、前言1、python快速开始 二、Openai 平台以及相关项目1、Openai的API管理平台2、ChatGPT项目推荐(1)…

每日学习总结20240222

每日总结 一旦停下来太久,就很难继续了 ——《一个人的朝圣》 20240222 1. 自定义逻辑 请设计一个函数single_track_logic,传入三个参数,第一个参数是int数组,第二个参数是一个int变量,第三个参数是一个以int为返回值&#xff0c…

每日五道java面试题之spring篇(四)

目录: 第一题 Spring框架的设计目标,设计理念,和核心是什么?第二题. Spring由哪些模块组成?第三题. 详细讲解一下核心容器(spring context应用上下文) 模块第四题.Spring框架中有哪些不同类型的事件第五题.…

【C++】类与对象—— 初始化列表 、static 静态成员、

类与对象 1 再谈构造函数1.1 构造函数体赋值1.2 初始化列表语法:建议:初始化顺序:注意: 1.3 explicit关键字 2 static 静态成员2.1 概念2.2 声明成员变量2.3 使用类的静态成员2.4 定义静态成员总结 Thanks♪(・ω&#…

Linux:gcc的基本知识

gcc 是一个将C语言文件变成可执行文件的工具。 在Linux中,如果需要将一个C语言文件变得可以执行,那么除了这个文件本身的内容是C语言编写的内容外,还需要gcc这个编译工具进行编译才行。 gcc 使用的格式方法:gcc 要编译的文件 //在该代码下…

【数据结构与算法初学者指南】【冲击蓝桥篇】String与StringBuilder的区别和用法

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《数据结构与算法:初学者入门指南》📘&am…

Llama2模型的优化版本:Llama-2-Onnx

Llama2模型的优化版本:Llama-2-Onnx。 Llama-2-Onnx是Llama2模型的优化版本。Llama2模型由一堆解码器层组成。每个解码器层(或变换器块)由一个自注意层和一个前馈多层感知器构成。与经典的变换器相比,Llama模型在前馈层中使用了不…

Redis进阶篇

Redis线程模型 redis是基于内存运行的高性能k-v数据库,6.x之前是单线程, 对外提供的键值存储服务的主要流程 是单线程,也就是网络 IO 和数据读写是由单个线程来完成,6.x之后引入多线程而键值对读写命 令仍然是单线程处理的,所以 …

[SpringDataMongodb开发游戏服务器实战]

背景: xdb其实足够完美了,现在回想一下,觉得有点复杂,我们不应该绑定语言,最好有自己的架构思路。 七号堡垒作为成功的商业项目,告诉我:其实数据是多读少写的,有修改的时候直接改库也…
最新文章