- 博客(18)
- 收藏
- 关注
原创 Android App 启动耗时优化实战
1. 进程创建 (Process Creation)└─> Zygote 进程 fork 新进程2. 创建 Application 对象└─> 调用 Application.onCreate()3. 启动主 Activity4. 首帧渲染└─> View 测量、布局、绘制└─> 显示到屏幕冷启动 (Cold Start): 进程不存在,需要创建新进程温启动 (Warm Start): 进程存在,但 Activity 需要重新创建热启动 (Hot Start)
2025-11-06 10:59:42
1074
原创 Android 自定义相机开发详解
Android 提供了自定义UI界面:需要完全控制相机界面布局实时预览效果:需要添加滤镜、美颜等实时效果批量拍照:连续拍摄多张照片专业模式:手动控制焦距、曝光、ISO等参数特殊场景:扫码、证件照、AR等选择合适的 API:Camera2 提供最完整的功能正确管理生命周期:及时释放相机资源处理权限请求:适配不同 Android 版本处理方向问题:正确设置预览和图片方向错误处理:完善的错误处理和用户提示。
2025-11-05 13:59:35
1053
原创 Android View 事件分发机制详解
Android 的事件分发机制是一个**责任链模式**的典型应用。当一个触摸事件发生时,系统会按照 View 树的结构,从外到内(Activity → ViewGroup → View)逐层传递事件,直到找到能够处理该事件的 View。
2025-11-05 10:46:09
1046
原创 Android MQTT 客户端使用详解
在开始使用 MQTT 客户端之前,需要先进行项目集成和配置。理解 MQTT 协议:发布/订阅模式、QoS 机制、主题设计正确管理生命周期:使用 Service、单例模式、Application Context保证连接稳定性:心跳机制、自动重连、网络切换处理优化消息处理:异步处理、消息去重、队列管理注意资源管理:避免内存泄漏、正确释放资源考虑性能优化:批量操作、消息过滤、电量优化。
2025-11-04 14:42:53
2319
1
原创 Android Handler 使用原理与源码分析
构成事件循环,以时间有序队列和 native 层阻塞/唤醒为基础,保证消息在目标线程串行、可控地执行。熟悉发送链路、取分发流程、延时精度与屏障机制,有助于写出既流畅又安全的 UI 代码,并有效避免主线程卡顿与内存泄漏。Handler 机制通过每线程唯一的。
2025-10-30 19:05:40
1097
原创 Android WindowManagerService (WMS) 详解
WindowManagerService (WMS) 是Android系统中负责窗口管理的核心系统服务,运行在SystemServer进程中。WMS负责管理Android系统中所有窗口的创建、显示、布局、动画、输入事件分发等关键功能。它是Android图形系统的基础组件,为整个Android UI框架提供窗口管理服务,确保用户界面的正确显示和交互。
2025-10-23 11:25:01
937
原创 Android ActivityManagerService (AMS) 详解
ActivityManagerService (AMS) 是Android系统中最核心的系统服务之一,运行在SystemServer进程中,负责管理Android系统中所有应用程序的生命周期、进程管理、任务调度、权限控制等关键功能。它是Android系统架构的核心组件,为整个Android生态系统提供应用管理服务。ActivityManagerService是Android系统中最核心的服务之一,负责管理应用程序的整个生命周期。应用程序生命周期管理。
2025-10-23 10:29:27
713
原创 Android View 绘制流程详解
measure:计算每个View的宽高。父视图向子视图下发,子视图据此测量实际尺寸。layout:确定每个View在父容器中的左上右下坐标(相对父容器)。draw:在Canvas上绘制自身(背景、内容、前景),并递归绘制子视图。->->(对ViewGroup->View)与ViewGroup= null// 1. 背景弧// 2. 刻度// 3. 文本本文从帧驱动、遍历入口到三大流程细节,结合硬件加速与性能优化给出一体化理解框架与实战模板。
2025-10-20 17:17:48
859
原创 Kotlin中协程使用详解
Kotlin 协程是一个强大的工具,可以让你编写更简洁、更高效的并发代码。协程作用域管理。使用launchasync等函数来启动和管理任务。协程的超时、取消、异常处理等功能。
2025-01-23 10:47:41
548
原创 Kotlin单例模式的几种写法
最简单的单例:直接使用object关键字。伴生对象单例:如果你需要在已有的类中创建单例,可以使用。延迟初始化:使用by lazy可以确保延迟初始化且线程安全。
2025-01-23 10:06:23
582
1
原创 Kotlin伴生函数、伴生方法详解
伴生对象是一个在类内部定义的对象,用于模拟static成员,它的成员可以通过类名直接访问。伴生函数通常是伴生对象中的函数,提供静态方法的功能。伴生对象可以有名字、实现接口、访问类的私有成员等。
2025-01-23 09:37:10
493
原创 Kotlin高阶函数(二)
灵活的任务筛选:通过将条件作为高阶函数参数传递,我们可以灵活地筛选任务。任务执行前后的操作:通过可选的Lambda参数,我们可以在任务执行前后加入额外的操作,例如日志记录、状态更新等。任务依赖关系:通过递归,我们可以处理任务之间的依赖关系,确保任务按顺序执行。扩展性:使用高阶函数可以轻松地扩展更多复杂的业务逻辑,如并发执行、任务优先级等。
2025-01-21 16:08:27
1188
原创 Koltin高阶函数详解(一)
Kotlin中的高阶函数(Higher-Order Functions)是指可以接受函数作为参数或返回一个函数的函数。高阶函数是Kotlin函数式编程的重要特性之一,能够使代码更加简洁、灵活和可重用。
2025-01-21 14:35:25
513
原创 Kotlin中let、also、apply、run和with的区别
letalso和apply都是 Kotlin 中的标准库扩展函数,它们常用于在对象上执行操作时进行链式调用。虽然它们有相似的功能,但是它们之间有一些关键的区别,主要体现在作用域、返回值和用途上。
2025-01-20 19:40:12
1605
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅