加载中
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
14
Android ExoPlayer 多路流实现原伴唱切换

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

08/16 08:14
218
Android ExoPlayer 音画同步代码分析

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

05/28 16:36
77
Android Dex问题造成的NoClassDefFoundError

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

04/22 08:53
50
变量:弱引用问题

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

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

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

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

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

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

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

2022/12/02 10:04
350
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
951
Android 幸运转盘的绘制逻辑

一、效果 幸运转盘 本篇属于demo性质,如果需要项目中使用,需要稍作修改 二、绘制原理 (1)公式推导 对于转盘而言,我们需要明确的是在初始状态下的每一个单元所对应的角度范围,另外我们赋...

2022/10/29 20:45
275
Android 在圆环上绘制三角

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

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

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

2022/09/18 15:46
57
Android ViewPager 3D翻转

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

2022/08/20 15:10
493

没有更多内容

加载失败,请刷新页面

返回顶部
顶部