加载中
Android IO 优化

一、什么是拷贝 之前有一篇文章说过拷贝: 广义上讲就是任何数据复制,但是在Linux系统中比较特殊,这里的概念比较狭义,物理内存之间的数据复制才叫拷贝 IO设备、Input 、DMA(Direct Memo...

2021/03/10 15:35
238
Linux 进程通信内存拷贝次数图解

一、进程通信中“拷贝”的概念 拷贝: 广义上讲就是任何数据复制,但是在Linux系统中比较特殊,这里的概念比较狭义,物理内存之间的数据复制才叫拷贝 IO设备、Input 、DMA(Direct Memory A...

2021/03/09 20:00
3.6K
Java 从字节码角度处理前端编译问题

一、关于Java编译 java从代码编写到程序运行需要两次编译,第一次是Javac编译,第二次是JIT+解释器编译 Javac是前端编译:负责字节码优化 JIT+解释器是后端编译:负责字节码优化,存储空间优...

2021/03/07 10:30
95
Android ClassLoader Hook注入方式

最近尝试热修复,反射调用补丁类,发现android O的类提前加载了,但没有初始化,所以出现了补丁无法生效的问题,对比一下之前版本,发现Android 6.0 执行到指定位置才去加载,并且初始化,因...

2021/03/02 19:13
1K
Android StaticLayout运用于自定义View

一、TextView文本布局 TextView是Android系统中设计最复杂的View组件之一,很多View组件都继承自TextView,如Button、 EditText、DigitalClock、CheckedTextView等。其中EditText的字符输入和...

2021/03/02 14:08
558
Android Canvas绘制自定义“线头”问题

线头介绍: Android 提供了线头设置的方法线头形状有三种: BUTT 平头、ROUND 圆头、SQUARE 方头。 默认为 BUTT。 而当线条变粗的时候,它们就会表现出不同的样子: 问题:如何自定义文章开始...

2021/02/26 17:22
416
flock文件锁的使用

在多个进程同时操作同一份文件的过程中,很容易导致文件中的数据混乱,需要锁操作来保证数据的完整性,这里介绍的针对文件的锁,称之为“文件锁”-flock。 flock,建议性锁,不具备强制性。一...

2021/02/23 15:01
334
Android 自定义仪表盘ArcMeterView

一、常见的汽车仪表 我们今天实现的是第二种,代码如下 public class ArcMeterView extends View implements ValueAnimator.AnimatorUpdateListener { private static final int ARC_STRONG...

2021/02/08 13:49
277
Android 编译优化——dex2oat编译

一、ART 即时 (JIT) 编译器实现 Android Runtime (ART) 包含一个具备代码分析功能的即时 (JIT) 编译器,该编译器可以在 Android 应用运行时持续提高其性能。JIT 编译器对 Android 运行组件当...

Android 编译优化——OAT文件

OAT文件简介 OAT文件是在Android4.4中引入的。OAT是优化过的、用于ART虚拟机执行的DEX文件,类似于Dalvik的ODEX文件。OAT文件遵循ELF格式。ELF是Unix系统上可执行文件,目标文件,共享库和C...

dex
2020/12/21 15:03
9.8K
Android 编译优化——ART与Dalvik区别

Dalvik 虚拟机中的模式和JVM一致 : JIT解释器 + JIT 编译器 (1)Android 4.x(Interpreter + JIT) (2)Android 5.0/5.1/6.0(interpreter + AOT) (3)Android 7.0/7.1的ART引入了全新的Hyb...

dex
2020/12/21 14:52
1.7K
Android PathMeasure实现粒子下落效果

一、效果图 二、代码实现 public class ObjectFallingView extends View implements ValueAnimator.AnimatorUpdateListener { private Paint mPaint = null; private int mWidth; private i...

2020/11/14 13:04
696
Android 线程池死锁问题

一、线程池死锁 1、资源互斥死锁 这种死锁是最常见的经典死锁,假定存在 A、B 2个任务,A需要B的资源,B需要A的资源,双方都无法得到时便出现了死锁。 //首先我们先定义两个final的对象锁.可...

2020/09/28 17:54
2.9K
Android TransparentActivity 悬浮窗兼容方案

一、方案说明 方案对比: Overlay方案: 1、 <> overlay悬浮窗功能比较强大,支持很多交互。 2、部分手机(如小米)不支持指纹识别等安全校验,因为有悬浮窗权限的app对需要指纹识......

2020/09/28 15:34
1.6K
Android ContentProvider跨进程通信方案

一、为什么使用ContentProvider跨进程通信? Android中跨进程通信的方式很多,除了共享内存(无法隔离进程)、UnixSocket(多次拷贝)、管道(多次拷贝,队列效率低),最常用的就是Binder了...

2020/09/27 12:19
5.2K

没有更多内容

加载失败,请刷新页面

返回顶部
顶部