自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android LeakCanary 使用 · 原理详解

摘要:LeakCanary 是 Square 公司开源的 Android 内存泄漏检测工具,通过自动化监控和堆转储分析,帮助开发者快速定位内存泄漏根源。其核心设计轻量高效,已成为 Android 开发中必备的调试工具。

2025-03-14 17:38:00 927

原创 Android StrictMode 使用与原理深度解析

StrictMode 是 Android 开发中不可或缺的性能检测工具,其核心原理是通过 动态插桩 和 Looper 监控 实现主线程耗时操作的检测。合理配置策略可显著提升应用流畅性,但需注意生产环境的禁用和误报处理。

2025-03-11 22:34:16 715

原创 《Android应用性能优化全解析:常见问题与解决方案》

摘要:本文系统剖析Android开发中六大核心性能问题——UI卡顿、内存泄漏、ANR、列表滑动卡顿、冷启动耗时及内存抖动,深入分析其典型场景与根本原因,并提供针对性的优化策略与代码实践。从异步处理、布局层级优化、内存管理到工具链(如LeakCanary、Android Profiler)的使用,全面覆盖性能调优的关键技术。无论是规避主线程阻塞、减少过度绘制,还是通过分页加载与延迟初始化提升响应速度,均以实际场景为锚点,助力开发者打造流畅、稳定的高质量应用。

2025-03-11 20:24:27 1321

原创 《Android Glide 深度解析:工作原理、LRU 缓存机制与最佳实践》

摘要:本文全面剖析 Android 图片加载库 Glide 的核心设计,结合源码深入讲解其生命周期管理、多级缓存架构与LRU 算法实现。内容涵盖:工作原理:从初始化、请求构建到解码任务的完整流程源码分析;缓存机制:详解活动资源、内存缓存(LruResourceCache)、磁盘缓存(DiskLruCacheWrapper)的三级架构及 LRU 算法实现原理;最佳实践:内存优化、缓存配置策略、生命周期防泄漏技巧及网络层优化方案;调试与监控:日志配置与性能分析方法。

2025-03-10 20:58:26 910

原创 《RxJava 深度解析:工作原理、核心操作符与高效实践指南》

摘要:RxJava 作为响应式编程的标杆框架,通过灵活的异步数据流处理能力,极大简化了复杂逻辑的开发。本文系统剖析 RxJava 的核心机制与最佳实践:工作原理:从观察者模式扩展、线程调度到底层背压策略,揭示数据流管理的设计哲学。核心 API 与操作符:详解 Observable、Flowable 等关键类,分类解析创建、转换、过滤、组合及错误处理操作符的用法与适用场景,并附代码示例。

2025-03-10 15:46:14 850

原创 《OkHttp:工作原理 & 拦截器链深度解析》

摘要:OKHttp 是一款高效的 HTTP 客户端库,由 Square 公司开发,支持 Android 和 Java 应用。它简化了 HTTP 请求处理,支持同步/异步请求、连接池、缓存、拦截器等特性。

2025-03-08 20:57:00 1239

原创 《Android 平台架构&系统启动流程详解》

摘要:Android 是一个基于 Linux 的开源软件堆栈,针对多种不同设备类型打造。Android 平台的主要组件。Android 软件堆栈。Android 平台的基础是 Linux 内核。例如,Android 运行时 (ART) 依赖 Linux 内核来实现底层功能,例如线程处理和低级内存管理。使用 Linux 内核可让 Android 利用关键安全功能,并让设备制造商能够为知名内核开发硬件驱动程序。硬件抽象层 (HAL) 提供了用于向较高级别的 Java API 框架公开设备硬件

2025-03-07 21:24:44 1104

原创 《Android APP 启动流程深度解析》

摘要:APP 启动流程深度解析,通过理解冷/热启动机制及优化方法,可显著提升用户体验。

2025-03-07 17:22:01 829

原创 《Android Activity启动流程详解》

摘要:创建 Activity 实例 → onCreate() → onStart() → onResume()Activity 的启动流程是 Android 系统中涉及多个组件协作的核心机制,从用户调用。Activity 的启动流程是 Android 系统设计的核心体现,涵盖。:通过 Activity.startActivity(Intent)若目标 Activity 所属应用进程未启动,触发 Zygote。会清除目标 Activity 上方的其他 Activity。

2025-03-01 17:55:37 1253

原创 《Android APK组成&编译打包流程详解》

摘要:Android APK(Android Package)是 Android 应用的安装包文件,其组成和打包流程涉及多个步骤和文件结构。APK 是一个 ZIP 格式的压缩包,包含应用运行所需的所有文件。由 Java/Kotlin 代码编译后的 Dalvik/ART 字节码文件。如果方法数超过 65536,会生成多个等(需启用 MultiDex)。编译后的二进制资源索引表,包含字符串、布局、颜色等资源的映射关系,用于快速查找资源。

2025-02-28 23:06:15 1665

原创 《Android 应用开发中,证书、签名和加固简述》

摘要:证书是开发者身份的“身份证”,签名是确保应用未被篡改的“密封章”,加固是防止代码被逆向的“保险箱”。三者结合,构成 Android 应用安全的基础防线。

2025-02-28 11:01:52 1156

原创 《Binder机制原理分析· AIDL示例详解》

摘要:在目录下创建.aidl文件(例如// 定义传递的复杂对象(需实现 Parcelable)// 接口方法// 回调接口(需单独定义)

2025-02-08 12:00:00 1055

原创 《Android之 Handler机制原理解析 · 常见面试题》

摘要:一种使得异步消息可以被更快处理的机制如果向主线程发送了一个UI更新的操作Message,而此时消息队列中的消息非常多,那么这个Message的处理就会变得缓慢,造成界面卡顿。所以通过同步屏障,可以使得UI绘制的Message更快被执行。什么是同步屏障?这个“屏障”其实是一个Message,插入在MessageQueue的链表头,且其target==null。Message入队的时候不是判断了target不能为null吗?// 把当前需要执行的Message全部执行。

2025-02-06 20:49:37 873

原创 《Android 自定义View的详解》

自定义View:只需要重写onMeasure()和onDraw()自定义ViewGroup:只需要重写onMeasure()和onLayout():用于测量View的大小(宽度和高度)。:确定View在ViewGroup中的位置;:用于绘制View的内容。,在里面写上你的触摸反馈算法,并返回 true(关键是 ACTION_DOWN 事件时返回 true)。如果是会发生触摸冲突的 ViewGroup,还需要重写。

2025-02-06 10:34:05 970

原创 《Android View 的事件分发机制解析》

前言: 用户按下触摸屏幕的事件。ACTION_UP: 用户抬起手指的事件。: 用户在屏幕上移动手指的事件。: 事件被取消,例如由于系统的其他操作。: 当已经有一个手指按下的情况下,另一个手指按下会产生该事件;: 多个手指同时按下的情况下,抬起其中一个手指会产生该事件;

2025-01-25 18:14:10 1123

原创 Retrofit使用・原理详解

定义一个接口,并使用注解指定HTTP请求的方法、URL、参数等。通过动态代理模式,在运行时生成接口的实现类,该实现类负责发起网络请求。通过OkHttp客户端发送HTTP请求,处理响应,并通过Converter将响应数据转换为对象。支持同步和异步回调,通过CallbackAdapterFactory处理回调逻辑‌。

2025-01-24 14:13:22 1299

原创 Arouter详解・常见面试题

路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。完成路由这个操作的实体设备就是路由器(Router)。

2025-01-23 10:16:08 853

原创 Android_动态更换桌面图标

实现-动态更改应用程序图标,且支持切换回常规图标。本文将详细介绍运行时如何更改Android应用程序图标的流程。

2025-01-20 14:46:20 1078

原创 《Http、Https区别 & Tcp协议详解》

传输控制协议(英语:Transmission Control Protocol,缩写:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由国际互联网工程任务组(The Internet Engineering Task Force, IETF)的 RFC793 定义。在简化的计算机网络 OSI 模型中,它完成传输层所指定的功能。(1)什么是面向连接?面向连接是相对于另一个传输层协议UDP(User Datagram Protocol, 用户数据报协议)而言的。

2025-01-17 11:59:54 1179

原创 JVM—虚拟机详解

JVM——Java虚拟机,它是Java实现平台无关性的基石。Java程序运行的时候,编译器将Java文件编译成平台无关的Java字节码文件(.class),接下来对应平台JVM对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。同时JVM也是一个跨语言的平台,和语言无关,只和class的文件格式关联,任何语言,只要能翻译成符合规范的字节码文件,都能被JVM运行。内存分配有两种方式,指针碰撞空闲列表。

2025-01-14 15:08:27 824

原创 Java 线程安全详解

本文介绍了线程安全和非线程安全、线程安全处理方法、多线程编程中的同步机制,包括synchronized关键字的使用和ReentrantLock的特性,讨论了死锁的产生条件及如何避免,强调了合理使用锁和避免嵌套锁的重要性。

2024-12-26 14:53:32 1163

原创 鸿蒙开发常用注解

在鸿蒙(HarmonyOS)开发中,注解(Annotation)是一种用于描述代码中的信息的元数据,它们不会改变程序的执行流程,但可以用于在编译时或运行时对代码进行解析和操作。:标记一个方法为命令方法,通常用于ServiceAbility中,用于响应来自其他Ability的命令。:标记方法的参数,用于指定参数的类型、名称等信息,常用于路由跳转或事件传递中。:标记系统能力,用于声明能力请求的权限信息,比如访问网络、存储等。:标记一个类作为Ability的入口类,通常用于定义页面的启动。

2024-12-17 20:38:32 294

原创 深入理解线程池

线程池通过控制线程数量、任务队列来管理任务执行,包括核心线程数、最大线程数、存活时间等参数。线程有新建、就绪、运行、阻塞和死亡五种状态。Java线程池由Executor框架实现,常用实现包括ThreadPoolExecutor,可以通过ExecutorService提交任务。阻塞队列在数据不足或满时会导致消费者或生产者线程阻塞,常见实现如ArrayBlockingQueue和LinkedBlockingQueue。

2024-12-13 15:36:02 625

原创 注解 实现原理

在Java中,注解(Annotation)是一种特殊的接口,它通过关键字进行定义,并且其定义中包含了类型的元注解。注解的主要作用是为代码提供元数据,这些元数据可以在编译时、类加载时或运行时被读取,并对代码的执行产生影响。‌定义‌:‌元注解‌:‌使用‌:‌内置注解‌:‌自定义注解‌:下面是一个简单的自定义注解的示例:在这个示例中,我们定义了一个名为的注解,并将其应用于类中的方法上。然后,在类的方法中,我们通过反射API读取了方法上的注解,并打印出了注解的元素的值。在Android开发中,注解(Annot

2024-12-10 16:10:47 959

原创 Java 泛型原理

泛型是Java语言中的一项强大特性,通过参数化类型增强了代码的重用性、安全性和可读性。泛型广泛应用于Java集合框架、通用方法、自定义泛型类和接口以及类型安全的API设计中。理解泛型的原理和应用场景对于编写高质量、可维护的Java代码至关重要。

2024-12-10 14:30:02 977

原创 Android 屏幕适配DimenTool + ScreenMatch

Android屏幕适配: ScreenMatch插件 & DimenTool工具类

2024-12-09 16:55:51 744

原创 Android APT技术

Android APT技术

2024-11-29 14:41:12 1026

原创 Android项目_git提交代码,设置用户名和邮箱

一、git 账号和邮箱配置:1. git用户名和邮箱配置:$ git config --global user.name "yourName"设置用户名$ git config --global user.email "your_email"设置邮箱2. 配置信息查看:$ git config user.name查看用户名$ git config user.email查看邮箱3. 配置信息修改:$ git config --replace-all user.name "...

2021-07-05 14:16:50 1569

android支付宝支付开发

移动支付开发,有手机网银/支付宝接口开发,支付宝网页开发等等

2015-03-17

空空如也

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

TA关注的人

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