加载中
将博客搬至CSDN

将博客搬至CSDN

11/10 21:46
27
Android HandlerThread FD数量优化

背景: FD泄露通常会造成OOM、ANR甚至Crash。 Android作为Linux系统的一部份,在Linux中“一切都是文件”,从小到一块儿内存区域大到进程、Socket、线程、磁盘文件等都有自身的文件描述符。我...

Android setClipToChild 冲突问题

背景: 如果给父View 设置setClipToChild(false) ,那么如果父View中存在宽度为父View一半的 子View(RecyclerView 或者ScrollView),这个时候将导致RecyclerView或者ScrollView展示的View ...

08/31 10:47
38
Android ExoPlayer 多路流实现原伴唱切换

一、背景 Android音视频领域,有很多分辨率(分辨率越高要求的码率越高)、声道、HQ音频切换的需求,几种常见的播放器中,除了MediaPlayer外,流行程度很高的播放器如ExoPlayer、ijkPlayer都...

08/16 08:14
413
Android 多媒体相关

Android 多媒体架构图 MediaPlayer 状态机制 Mediaplayer C/S 架构 NuPlayer Android 7.0 MediaServer分解为多个进程序架构 H26X 编解码过程 转自: https://blog.csdn.net/mytzs123/article...

07/30 08:28
38
Android 使用NDK R21编译ffmpeg

一、前言 编译ffmpeg是学习ffmpeg的第一步,本篇博客的环境是mac os 上 NDK21 版本编译ffmpeg。之所以写这篇博客,主要是因为去年编译的时候一切顺利进行,而今年电脑CPU烧了(使用电脑设备要...

Android ExoPlayer 音画同步代码分析

一、音画同步 音画同步是一项非常重要的工作,但音画同步涉及多种方式,由于场景的需要,每种方式有所区别。音画同步一般都是以Audio Master方式为主,人体对声音的敏感度超过视觉,这也是以...

05/28 16:36
85
Android MediaExtractor + MediaMuxer 分离音视频

一、背景 Video和Audio通常具备多种品质,视频里有如480P、720P、1080P、2K...等,而Video中有普通音质、middle音质、HQ音质等,在目前降本增效的愿景的下,需要考虑到的降低存储成本和传输成...

05/28 11:32
67
Android Dex问题造成的NoClassDefFoundError

前言: NoClassDefFoundError和ClassNotFoundException相比,前者是类加载后直接抛出(一般属于VM抛出),后者一般是加载时抛出(一般属于ClassLoader抛出),很明显前者是在避免了ClassNotF...

04/22 08:53
81
Java 自动扩容Mmap数据写入性能测试

背景: 低配设备I/O优化,利用mmap实现日志的管理。 一、测试代码: public class MmapWriter { private static final int BUF_SIZE = 4096; private File mFile; private FileChannel mCha...

RecyclerView 性能优化-区域预布局

一、背景 RecyclerView的优化有很多机制,一般来说主要分为: (1)ViewHolder 缓存预加载 这类主要提前填充ViewHolder缓存或者共享ViewHolder来实现 (2)图片预加载 利用ScrollListener机制...

变量:弱引用问题

背景 在java中,存在4种引用关系,但是4种引用关系也有一些差异,这里主要讨论若引用和虚引用,但是一些细节点讨论: API上有什么不同 ? 虚引用和弱引用有什么不同?如果都是GC时都被回收,...

03/07 17:32
47
Android Touch事件与绘制顺序关系

一、Android中的Touch事件 Android中的事件传递已经是所有Android开发者必须要理解的内容,这里我们所说的是同一个父Layout下子View获取事件的优先权问题,同时对于事件被阻断问题的定位进行...

2022/12/31 08:42
107
Android TextView跑马灯无法启动问题

一、跑马灯需要满足的条件 private void startMarquee() { // Do not ellipsize EditText if (getKeyListener() != null) return; if (compressText(getWidth() - getCompoun......

2022/12/13 15:44
117
Android 焦点设计与调试规范

一、问题 我们知道,RecyclerView、ListView作为ItemView可以回收的View组建,时常伴随nofityDatasetChanged方法调用,导致removeView 触发clearFocus,出现焦点丢失的问题。那么我们应该如何...

2022/12/02 10:04
356
Android 烟花效果实现

效果图 、 二、代码实现 public class FireworksView extends View implements Runnable { private static final long V_SYNC_TIME = 50; private final DisplayMetrics mDM; private TextPa...

2022/10/29 20:52
1.2K
Android 在圆环上绘制三角

代码实现 public class RingSlideView extends View { private final DisplayMetrics mDM; private TextPaint mArcPaint; private TextPaint mDrawerPaint; private int maxRadius; ......

2022/10/29 20:24
89
ExoPlayer 使用以及指定解码

一、常见的方法 (1)seek相关 seekToNext() 下一首, seekToPrevious() 上一首 seekForward() 前进 seekBack () 后退 seek(windowIndex,offset) 某一首的某一位置 seekable (2) 切歌回调 on...

2022/09/18 15:46
65
Android 利用Shader机制实现弹幕出入渐隐效果

一、需求 弹幕进入时由透明,进入一定区域后变成透明,退出时由不透明变成透明。 看过自定义LoopView源码的都知道,在View上下两侧使用了遮罩(Mask)的去实现划出区域的item隐藏,但是在某些...

2022/08/20 18:45
898
Android ViewPager 3D翻转

一、需求分析 PageTransformer非常方便的提供了ViewPager页面之间的切换,最近有个需求和交通银行类似,实现3D翻转,说到3D翻转我们下意识的可能想到的是Camera+Matrix错切动画,实际上这也是...

2022/08/20 15:10
523

没有更多内容

加载失败,请刷新页面

返回顶部
顶部