- 博客(7)
- 收藏
- 关注
原创 Android音视频之MediaMetadataRetriever
引言MediaMetadataRetriever是Android原生提供的获取音视频文件信息的一个类,我们可以通过这个类的相关方法获取一些基本信息,如视频时长、宽高、帧率、方向、某一帧的图片等。初始化MediaMetadataRetriever retriever = new MediaMetadataRetriever();retriever.setDataSource("");//设置视频路径获取基本信息我们可以通过MediaMetadataRetriever的extractMetadat
2021-02-18 14:14:17
458
原创 Android内存管理之批量处理图片问题
引言最近在做多图片编辑的功能,需要在图片编辑之前做一些预处理,包含旋转、缩放、裁剪,这个处理过程是通过Bitmap相关的操作完成的,因此会造成大量的内存使用,从而出现OOM问题,这里记录一下相关的处理方法。相关操作处理完每一张图片后,调用Bitmap.recycle(),将生成的Bitmap及时回收;Bitmap预处理,根据需求和图片大小,在加载生成Bitmap时,通过BitmapFactory.Options.inSampleSize做一些缩放处理,减少内存占用图片处理完成后调用System.
2021-01-29 17:05:49
186
原创 状态机
定义状态机:有限状态自动机,是对现实事物运行规则进行抽象建立的一种数学模型有限状态:现实世界中,限定在特定时间、环境下,任何事物都可以抽象出一定的状态,如人的身体健康问题来说,会存在健康、生病的状态,学校的大门有开启、关闭的状态,家里的灯有亮起、熄灭的状态,并且这些状态是有限的。状态的转变:家里的灯存在亮起、熄灭的状态,一开始灯是熄灭的,当需要的时候,你按下ON开关,灯从熄灭状态变为亮起状态,不需要的时候,按下OFF开关,灯从亮起状态变为熄灭状态对于灯的运行规则我们可以抽象建立出一个数学模型来,可以
2021-01-29 17:03:50
91
原创 Android练手小项目-KK追剧
概述一个Android练手小项目项目功能:注册、登录、视频播放、评论、修改个人信息等项目结构:Retrofit+LiveData+ViewModel+DataBinding服务器:tomcat,springMVC,接口地址下载体验:下载地址项目地址:项目地址项目截图注册登录视频列表视频详情评论功能搜索页编辑资料结语暂时添加了这些功能,还有很多功能有待开发,后续慢慢完善。...
2021-01-26 21:28:15
303
原创 Room的一次实践
写在前面最近在看Room,这里简单记录一下,方便以后回顾学习,理论就不说了,理论知识这里自行了解。准备工作环境配置room_version = “2.2.0-alpha01”implementation “androidx.room:room-runtime:$room_version”kapt “androidx.room:room-compiler: $room_version...
2019-07-19 17:52:10
264
原创 UI之ViewPager实现画廊效果
背景最近在学习英语,在使用英语流利说App的时候看到一个广告banner,如下图:怎么实现这种效果呢?用ViewPager实现!实现从图中可以看出,一次显示三个Item,一个完整的,两个冒点头并且相较于完整的高度较小,我们知道平时VIewPager是每个Item占一整页的,怎么实现一页显示三个呢?从ViewPager的onMeasure()与onLayout()我们知道Item的宽高和布...
2019-07-01 17:30:59
265
原创 UI之直尺
开头最近比较闲,花了两天时间写了个直尺的控件,先来看下效果思路这个控件整体分为上下两个部分,上面用来显示当前的刻度数,下面则是尺子,重头戏主要在下面的尺子部分;尺子部分主要包含了尺子和指针,尺子的绘制我们只需要知道尺子左侧的坐标和尺子刻度的宽度便可以将尺子绘制出来,当然这里需要指定下最大刻度,而指针则是在控件的中心,这个是固定不变的,尺子的移动是通过改变尺子左侧的坐标实现的,而当前的刻度则...
2019-06-03 15:15:52
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人