- 博客(589)
- 资源 (21)
- 收藏
- 关注
原创 Android BLE开发总结
Android BLE开发总结在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下:设备(Device):指BLE设备,如蓝牙耳机、传感器等。服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一个唯一的UUID,服务中包含多个特征值。特征(Characteristic):指BLE设备服务中的特征值,每个特征值有一个唯一的UUID,可以读取、写入和监听特征值数据。描述(Descriptor):指BLE设备服务中特征值的描述信息,描述信息
2023-03-27 15:38:28 1311 3
原创 Android Handler机制
文章目录Handler 源码分析Handler核心类Handler机制分析Handler基本使用Handler#enqueueMessage()MessageQueueue#enqueueMessage()Looper#loop()MessageQueue#next()Handler#dispatchMessage()Handler机制流程图及总结常见问题线程、Handler和Looper的对应关系Handler内存泄漏问题子线程中使用HandlerMessage创建方式Handler如何保障线程安全Loo
2021-07-09 13:37:28 267 2
原创 Java LinkedList源码分析
LinkedList总结LinkedList本质是一个双向链表,内部维护链表头节点和尾节点。Node是LinkedList的一个静态内部类,是LinkedList的核心,内部维护具体的值和上下节点的关系。相对ArrayList增删效率高,查询效率低,线程不安全。
2020-04-09 15:20:48 588
原创 Java ArrayList源码分析
本质是数组操作,最终调用System.arraycopy()实现底层扩容和增删等操作。查询效率高,增删效率低,线程不安全。
2020-04-07 11:21:24 467
原创 Android 事件分发机制
当我们点击屏幕,就产生了触摸事件,这个事件被封装成了一个类:MotionEvent。而当这个MotionEvent产生后,那么系统就会将这个MotionEvent传递给View的层级,MotionEvent在View的层级传递的过程就是点击事件分发。
2019-08-22 16:37:06 445
原创 微信小程序-自定义组件
小程序目前已经支持组件化开发,可以将页面中的功能模块抽取成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。
2024-10-16 16:47:46 1089
原创 微信小程序-canvas
在HTML中,canvas 标签可用于图形的绘制,也可用于创建图片特效和动画。在微信小程序中,canvas组件也起着类似作用,可用于自定义绘制图形,该组件支持2D和WebGL的绘图。
2024-09-25 14:48:22 1347
原创 微信小程序-使用vant组件库
Vant Weapp 是有赞前端团队开源的小程序 UI 组件库,基于微信小程序的自定义组件开发,可用来快速搭建小程序项目。
2024-09-25 14:46:08 2785
原创 微信小程序-分包加载
小程序的代码通常是由许多页面、组件以及资源等组成,随着小程序功能的增加,代码量也会逐渐增加,体积过大就会导致用户打开速度变慢,影响用户的使用体验。
2024-09-25 14:45:31 1224
原创 Android 优雅封装Glide
使用策略模式实现不同图片加载框架的切换,使用建造者设计模式处理不同参数,最后通过 ImageLoader 进行管理。
2024-09-06 16:14:49 885
原创 Android Activity启动流程(Android 13)
文章目录Android Activity启动流程(Android 13)概述执行流程前提流程分析Activity#startActivity()Activity#startActivityForResult()Instrumentation#execStartActivity()ActivityTaskManager#getService()ActivityTaskManagerService#startActivity()ActivityTaskManagerService#startActivityAs
2024-08-20 16:30:17 1359
原创 Android SystemServer启动流程
SystemServer 是 Android 系统 Java 层最重要的进程之一,几乎所有的 Java 层 Binder 服务都运行在这个进程里。
2024-08-13 15:36:54 570
原创 HTTP协议 1.0、1.1、2.0之间的版本区别
文章目录HTTP协议 1.0、1.1、2.0之间的版本区别HTTP 1.0HTTP 1.1HTTP 2.0HTTP协议 1.0、1.1、2.0之间的版本区别HTTP 1.0每次请求都会与服务器建立一个TCP连接,请求结束后会关闭。基本的缓存机制,可以通过响应头指示客户端缓存数据。支持 GET、POST、HEAD 方法。HTTP 1.1新增持久连接,默认开启,即一个TCP连接可以被多个请求复用。新增管道传输,在等待响应时可以发送多个请求,一种串行的处理方式,即请求可以并行发出,但响应必须
2024-08-07 10:06:01 237
原创 Android 系统启动流程
上电 -> BootLoader -> Linux Kernel -> init 进程 -> Zygote 进程 -> System Server 进程 -> Launcher
2024-07-26 13:22:30 916
原创 Android Handler之消息同步屏障
同步屏障:即消息的同步阻碍,指阻碍同步消息,只让异步消息通过。平时我们通过 Handler 发送到消息大部分都是同步消息,当然也可以设置为异步消息。
2024-07-24 13:28:06 908
原创 Android 性能优化之卡顿优化
BlockCanary 是一个用于 Android 应用开发者的性能分析工具,它可以帮助开发者发现和解决应用中的卡顿问题。BlockCanary 通过在应用中植入检测逻辑,监控应用运行时的线程状态,并在检测到卡顿发生时记录相关信息。它的主要目的是帮助开发者追踪和分析应用中可能导致卡顿的代码段或操作。ANR(Application Not Responding)是指应用程序未响应,Android 系统对于一些事件需要在一定时间范围内完成,如果超过预定时间未能得到有效响应或者响应时间过长,都会造成 ANR。
2024-07-16 17:20:54 1077
原创 Android 性能优化之布局优化
绘制原理双缓冲机制布局加载原理检测耗时常规方式AOP方式获取控件加载耗时布局优化AsyncLayoutInflater方案Compose方案减少布局层级和复杂度避免过度绘制
2024-07-11 17:54:30 1136
原创 Android IdleHandler源码分析
IdleHandler是一个接口,它定义在MessageQueue类中,用于在主线程的消息队列空闲时执行一些轻量级的任务。IdleHandler接口有一个方法queueIdle(),其返回值决定了IdleHandler的后续行为。
2024-07-09 10:17:28 534
原创 Android 性能优化之启动优化
启动状态:冷启动、温启动、热启动。耗时检测:TraceView、Systrace、AOP。优化手段:白屏优化、异步加载优化、延迟加载优化、AppStarup。
2024-07-05 15:17:31 1331
原创 Android 换肤之插件换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。
2024-07-03 13:31:36 624 1
原创 Android 换肤之主题换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。
2024-07-02 09:47:05 793 1
原创 Android Lint
Lint 是 Android 提供的代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。Lint 发现的每个问题都有描述信息和等级(和测试发现 bug 很相似),我们可以很方便地定位问题,同时按照严重程度进行解决。
2024-06-28 16:51:12 989
原创 Compose CompositionLocal
Compose 提供了 CompostionLocal 用来完成 composable 树中共享数据方式。CompositionLocals 是具有层级的,可以被限定在以某个 composable 作为根结点的子树中,其默认会向下传递的,当然当前子树中的某个 composable 可以对该 CompositionLocals 进行覆盖,从而使得新值会在这个 composable 中继续向下传递。staticCompositionLocalOf 和 compositionLocalOf
2024-05-31 16:35:55 533
Android 获取屏幕、状态栏、导航栏信息
2023-11-03
Android BLE开发总结
2023-03-27
Gson基本使用,数据容错处理
2022-04-27
RecyclerDemo.rar
2019-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人