加载中
将博客搬至CSDN

将博客搬至CSDN

2023/11/10 21:46
63
Android 多媒体相关

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

Android Dex问题造成的NoClassDefFoundError

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

Java 自动扩容Mmap数据写入性能测试

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

2023/04/10 14:18
133
RecyclerView 性能优化-区域预布局

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

变量:弱引用问题

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

Android Touch事件与绘制顺序关系

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

Android 焦点设计与调试规范

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

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.6K
ExoPlayer 使用以及指定解码

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

Android 利用Shader机制实现弹幕出入渐隐效果

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

Android ViewPager 3D翻转

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

Android Clip扩散效果动画

Clip可以避免with和height被扭曲,利用clip机制,可以实现卷轴、圆圈扩散、前一页翻页动画等。 public class ClipTransitionLayout extends FrameLayout implements ViewTreeObserver.OnPreD...

2022/08/20 11:10
158
HTTP 断点续传响应兼容问题

(1)、断点续传时Content-Length的角色问题 有时,在部分请求中,断点续传如果给了Content-Length,那么Content-Length是代表总长度呢还是本次传输长度呢? 举例: 我们可以请求资源的某一部...

Android 文件权限导致apk安装解析失败

一、案例说明: 在下载完成apk后,我们首先校验文件完整性,然后需要调用安装程序安装apk。 MLog.e(TAG, "ApkFILENAME:" + apkfile.getAbsolutePath()); Intent intent = new Intent(); int...

Android 多进程IO管理范例

一、定义RandomgAccessFile AIDL interface IDataTransport { boolean open(String path, String mode); void send(in Message msg); void setLength(in long length); void seek(in long .....

java 数组低频拷贝的性能分析

简介: Java 中存在4种拷贝拷贝方式: 克隆:产生新对象,内存独立 Arrays.copyOf : 属于一般拷贝 for loop : 属于一般拷贝 System.arrayCopy : 底层通过指针方式拷贝 测试环境: 今天探索一...

Java 垃圾回收和对象引用

一、垃圾回收 Java中垃圾回收算法是可达性分析,要真正回收一个对象,会经历两次标记过程,如果对象在通过可达性算法分析后,没有发现和GC Root相连的引用链,那么就会进行第一次标记(修改M...

Glide 视频封面解码关键类

视频解码 public class VideoDecoder<T> implements ResourceDecoder<T, Bitmap> { private static final String TAG = "VideoDecoder"; /** * A constant indicating we should use whateve...

2022/04/18 10:46
140
一文读懂 mmap 原理

公众号: Linux内核那些事 在《一文看懂零拷贝技术》中我们介绍了 零拷贝技术 的原理,而且我们知道 mmap 也是零拷贝技术的一种实现。在本文中,我们主要介绍 mmap 的原理。 一、传统的读写文...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部