自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (4)
  • 收藏
  • 关注

原创 SurfaceView、TextureView、SurfaceTexture 和 GLSurfaceView

是与图形渲染和视频播放密切相关的核心类,它们各自有不同的特性和适用场景。理解它们的差异,能帮助你在不同场景下选择最合适的组件!在 Android 中,

2025-07-19 18:38:24 669

原创 MeasureSpec

2025-07-19 18:02:53 89

原创 子线程不能直接 new Handler(),而主线程可以

场景能否直接 new Handler()原因主线程✅ 可以系统自动初始化Looper子线程❌ 不能默认无Looper,需手动调用关键点Handler必须绑定一个Looper,而Looper需要消息循环()才能工作。子线程若需使用Handler,需按规范初始化Looper,或直接使用。

2025-07-19 17:24:00 446

原创 Java动态代理如何弥补静态代理的缺点

动态代理是Java反射机制的重要应用,它有效解决了静态代理存在的多个关键问题。

2025-07-16 14:26:13 969

原创 Android 事件机制详解

Android 的事件机制是指系统如何处理和传递用户的触摸、按键等输入事件的体系,主要包括事件产生、分发、传递和消费四个环节。

2025-07-15 13:25:17 350

原创 CAS(Compare-And-Swap)详解

/ 尝试获取锁的CAS操作。

2025-07-13 20:25:54 269

原创 JVM 锁自动升级机制详解

JVM 中的锁升级是指 synchronized 锁从无锁状态逐步升级到重量级锁的过程,这是 Java 并发性能优化的核心机制之一。Java 8 的 ConcurrentHashMap 使用的 synchronized 正是受益于这套自动升级机制。

2025-07-13 20:25:15 705

原创 java8 ConcurrentHashMap 桶级别锁实现机制

Java 8 中的 ConcurrentHashMap 抛弃了分段锁设计,采用了更细粒度的(bucket-level locking)实现,这是其并发性能提升的关键。

2025-07-13 20:24:40 626

原创 设计启动框架的主流大厂APP类型及其技术实现要点

大厂APP启动框架设计的本质是。

2025-07-12 08:18:34 337

原创 APK 签名详解

APK 签名是 Android 应用打包过程中的关键步骤,它确保了应用的完整性和来源真实性。

2025-07-12 06:54:10 412

原创 Java 反射机制详解

反射(Reflection)是 Java 语言的一个重要特性,它允许程序在运行时获取类的内部信息,并能直接操作对象的内部属性和方法。

2025-07-11 19:54:11 364

原创 Android 开发中插桩

如果需要具体某场景的代码实现(如用 ASM 实现方法监控),可以进一步展开说明。

2025-07-11 13:51:48 489

原创 Android 插件化实现原理详解

插件化技术是Android开发中一项重要的高级技术,它允许应用动态加载和执行未安装的APK模块。

2025-07-10 19:50:52 988

原创 Sophix、Tinker 和 Robust 三大主流 Android 热修复框架的详细对比

以下是 Sophix、Tinker 和 Robust 三大主流 Android 热修复框架的详细对比,从技术原理、功能支持、性能表现到适用场景的全方位分析:最终建议:

2025-07-10 19:39:09 1077

原创 AndFix、Robust 与 Tinker 热修复框架深度对比

在 Android 热修复领域,AndFix、Robust 和 Tinker 是三种主流的解决方案,它们在实现原理、使用场景和限制条件上有显著差异。

2025-07-10 19:38:39 744

原创 OkHttp 的拦截器有哪些

通过日志拦截器// 记录请求信息// 记录响应信息。

2025-07-10 19:29:27 325

原创 OkHttp 的拦截器有哪些

通过日志拦截器// 记录请求信息// 记录响应信息。

2025-07-10 19:12:05 481

原创 OKHttp 核心知识点详解

2. 同步请求3. 异步请求三、高级功能1. 拦截器(Interceptors)应用拦截器(Application Interceptors)网络拦截器(Network Interceptors)2. 缓存配置3. 超时设置四、请求定制1. 请求头设置2. 表单提交3. 文件上传4. JSON 数据提交五、响应处理1. 响应头读取2. 响应体处理六、高级配置1. 连接池配置2. 代理设置3. 证书锁定(Certificate Pinning)

2025-07-10 19:11:43 432

原创 Android 网络开发核心知识点

Android网络开发需要综合考虑功能实现、性能优化和安全性,选择合适的工具和架构可以使网络层更加健壮和高效。:Facebook开发的Android调试工具。

2025-07-10 19:03:01 927

原创 Android 网络开发核心知识点

Android网络开发需要综合考虑功能实现、性能优化和安全性,选择合适的工具和架构可以使网络层更加健壮和高效。:Facebook开发的Android调试工具。

2025-07-10 18:57:24 642

原创 Java中实现线程安全的几种方式

Java提供了丰富的线程安全机制,开发者应根据具体场景选择最合适的方案,平衡安全性、性能和代码复杂度。:使用CAS(Compare-And-Swap)指令实现无锁线程安全。:使用内置锁(对象监视器)保证方法级别的原子性。:保证变量的可见性和有序性(但不保证原子性):对象创建后状态不可改变,自然线程安全。:每个线程有自己的变量副本,避免共享。:通过线程间通信而非共享内存实现安全。:对关键代码段而非整个方法进行同步。:每次修改返回新对象而非修改原对象。:专门设计的线程安全集合类。

2025-07-10 18:37:16 810

原创 Java 中的多线程实现方式

Java的多线程实现方式随着版本演进不断丰富,从Java 5的并发工具包到Java 8的CompletableFuture和并行流,开发者可以根据具体需求选择最适合的实现方式。(通过第三方库如Netty、Vert.x等实现)

2025-07-10 18:29:51 288

原创 ReentrantLock 与 Synchronized 的区别

ReentrantLock 提供了比 synchronized 更灵活的锁操作,但随之而来的是更复杂的用法和更大的出错可能性。在大多数常见场景下,synchronized 已经足够使用且更安全。只有在确实需要 ReentrantLock 的高级功能时,才应该使用它。核心数据结构// AQS 内部类 Node 表示等待线程// 用于条件队列// AQS 关键字段// 同步状态// 队首// 队尾state 状态0 表示锁未被占用0 表示锁被占用,数值表示重入次数。

2025-07-10 18:24:56 891

原创 Dart 语言知识点总结

/ 基本函数// 箭头函数(单行函数)// 可选参数age]) {?'未知'}');// 命名参数// 函数作为参数callback();

2025-07-10 17:35:08 416

原创 Flutter 知识点总结

这个总结涵盖了 Flutter 开发的主要知识点,可以作为学习路线图或速查参考。实际开发中应根据项目需求选择合适的技术方案。

2025-07-10 17:28:54 732

原创 Flutter 与 Android 的互通几种方式

Flutter 与原生 Android 代码通信的核心方式,支持双向调用。

2025-07-10 17:20:24 413

原创 React Native 状态管理方案全面对比

在 React Native 开发中,状态管理是构建复杂应用的核心问题。

2025-07-09 15:23:15 545

原创 React Native 组件间通信方式详解

在 React Native 开发中,组件间通信是核心概念之一。

2025-07-09 11:42:51 441

原创 Kotlin协程中的Job详解

Job是Kotlin协程中表示协程任务的核心概念,它提供了对协程生命周期的控制和管理的功能。

2025-07-08 19:44:52 438

原创 协程(Coroutine)详解

协程是一种轻量级的线程管理方案,它允许你以看似同步的方式编写异步代码,同时提供了更高效、更可控的并发处理能力。

2025-07-08 19:34:29 780

原创 协程举例学习

例如,在Activity或Fragment的onDestroy()方法中取消所有未完成的协程。在Android的Activity或ViewModel中使用协程时,你应该使用GlobalScope.launch或者在ViewModel中使用viewModelScope.launch来避免内存泄漏。同时,你也可以使用结构化的并发,比如在CoroutineScope中启动协程。launch用于在后台启动一个协程,而runBlocking则用于在主线程中运行一个协程,它会阻塞当前线程直到协程执行完毕。

2025-07-08 19:32:42 427

原创 Android 中的多线程编程全面解析

中大型项目推荐全面采用协程。无论采用何种方案,都需要注意线程安全、生命周期管理和性能优化,才能构建出响应迅速且稳定的 Android 应用。模式发展为以协程为核心的现代并发模型。开发者应当根据项目需求选择合适方案,小型项目可使用。Android 多线程编程已经从原始的。

2025-07-08 19:32:01 535

原创 Android 依赖注入框架详解

/ 定义可注入的依赖// 使用模块提供接口实现@Module@Binds。

2025-07-08 17:50:05 449

原创 Android 依赖注入框架详解

/ 定义可注入的依赖// 使用模块提供接口实现@Module@Binds。

2025-07-08 17:41:23 745

原创 Mavericks 原理分析

Mavericks 是 Airbnb 开源的一个 Android 状态管理库,基于 MVI (Model-View-Intent) 架构模式,结合了 RxJava 和 Jetpack 组件,为复杂 Android 应用提供可预测的状态管理方案。

2025-07-08 17:36:29 780

原创 RxJava 中 Subscription 与 Disposable 对比

【代码】RxJava 中 Subscription 与 Disposable 对比。

2025-07-08 17:26:25 269

原创 Subject vs Flowable vs Observable 对比

选择正确的类型取决于具体用例、数据量和背压需求。

2025-07-08 17:23:17 354

原创 VSYNC 深度解析

VSYNC(Vertical Synchronization)是图形显示系统中的关键同步信号,它协调GPU渲染和屏幕刷新的时序关系。

2025-07-08 16:34:33 997

原创 Choreographer

/ 创建高优先级动画调度器null);

2025-07-08 16:28:53 602

原创 kotlin

在Kotlin中,实现单例模式比Java更加简洁和优雅。

2025-07-08 15:52:14 588

javax.script.jar

javax.script.jar

2021-01-08

jython-standalone-2.7.0.jar

2017-01-10

genymotion-arm-translation

目的:用于处理genymotion调试时出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 方法:1.打开genymotion虚拟机 2.将该zip文件拖入虚拟机界面,待有提示框出现则点击确定 3.重启虚拟机

2016-12-27

arm-genymotion to translation.zip

目的:用于处理genymotion调试时出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 方法:1.打开genymotion虚拟机 2.将该zip文件拖入虚拟机界面,待有提示框出现则点击确定 3.重启虚拟机

2016-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除