- 博客(571)
- 资源 (21)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android BLE开发总结
Android BLE开发总结在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下:设备(Device):指BLE设备,如蓝牙耳机、传感器等。服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一个唯一的UUID,服务中包含多个特征值。特征(Characteristic):指BLE设备服务中的特征值,每个特征值有一个唯一的UUID,可以读取、写入和监听特征值数据。描述(Descriptor):指BLE设备服务中特征值的描述信息,描述信息
2023-03-27 15:38:28
1113
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java HashMap源码分析
文章目录HashMap源码分析概述数据结构储存流程源码分析基本属性Node构造函数put()resize()HashMap源码分析概述在JDK1.7中,HashMap的数据结构为:数组+链表在JDK1.8中,HashMap优化了数据结构,引入了红黑树,即:数组+链表+红黑树解决hash冲突问题:无冲突:存放在数组中有冲突,链表长度<8时,存放在单链表中有冲突,链表长度>8时,先存入链表,再链表转红黑树哈希表和哈希桶采用哈希函数将记录储存在一块连续的存储空间中,这块
2021-07-14 16:34:03
269
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 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
228
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java LinkedList源码分析
LinkedList总结LinkedList本质是一个双向链表,内部维护链表头节点和尾节点。Node是LinkedList的一个静态内部类,是LinkedList的核心,内部维护具体的值和上下节点的关系。相对ArrayList增删效率高,查询效率低,线程不安全。
2020-04-09 15:20:48
551
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java ArrayList源码分析
本质是数组操作,最终调用System.arraycopy()实现底层扩容和增删等操作。查询效率高,增删效率低,线程不安全。
2020-04-07 11:21:24
424
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android 事件分发机制
当我们点击屏幕,就产生了触摸事件,这个事件被封装成了一个类:MotionEvent。而当这个MotionEvent产生后,那么系统就会将这个MotionEvent传递给View的层级,MotionEvent在View的层级传递的过程就是点击事件分发。
2019-08-22 16:37:06
414
原创 Android 性能优化之卡顿优化
BlockCanary 是一个用于 Android 应用开发者的性能分析工具,它可以帮助开发者发现和解决应用中的卡顿问题。BlockCanary 通过在应用中植入检测逻辑,监控应用运行时的线程状态,并在检测到卡顿发生时记录相关信息。它的主要目的是帮助开发者追踪和分析应用中可能导致卡顿的代码段或操作。ANR(Application Not Responding)是指应用程序未响应,Android 系统对于一些事件需要在一定时间范围内完成,如果超过预定时间未能得到有效响应或者响应时间过长,都会造成 ANR。
2024-07-16 17:20:54
980
原创 Android 性能优化之布局优化
绘制原理双缓冲机制布局加载原理检测耗时常规方式AOP方式获取控件加载耗时布局优化AsyncLayoutInflater方案Compose方案减少布局层级和复杂度避免过度绘制
2024-07-11 17:54:30
913
原创 Android IdleHandler源码分析
IdleHandler是一个接口,它定义在MessageQueue类中,用于在主线程的消息队列空闲时执行一些轻量级的任务。IdleHandler接口有一个方法queueIdle(),其返回值决定了IdleHandler的后续行为。
2024-07-09 10:17:28
473
原创 Android 性能优化之启动优化
启动状态:冷启动、温启动、热启动。耗时检测:TraceView、Systrace、AOP。优化手段:白屏优化、异步加载优化、延迟加载优化、AppStarup。
2024-07-05 15:17:31
1161
原创 Android 换肤之插件换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。
2024-07-03 13:31:36
510
1
原创 Android 换肤之主题换肤
Android 实现应用内换肤的常用方式(两种):通过Theme切换主题,即静态方法。通过AssetManager切换主题,可实现动态切换。
2024-07-02 09:47:05
607
1
原创 Android Lint
Lint 是 Android 提供的代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。Lint 发现的每个问题都有描述信息和等级(和测试发现 bug 很相似),我们可以很方便地定位问题,同时按照严重程度进行解决。
2024-06-28 16:51:12
928
原创 Compose CompositionLocal
Compose 提供了 CompostionLocal 用来完成 composable 树中共享数据方式。CompositionLocals 是具有层级的,可以被限定在以某个 composable 作为根结点的子树中,其默认会向下传递的,当然当前子树中的某个 composable 可以对该 CompositionLocals 进行覆盖,从而使得新值会在这个 composable 中继续向下传递。staticCompositionLocalOf 和 compositionLocalOf
2024-05-31 16:35:55
496
原创 Compose Accompanist
SystemUiController添加依赖库使用Pager添加依赖库使用SwipeRefresh添加依赖库使用FlowLayout添加依赖库使用
2024-05-31 12:04:24
307
原创 Compose 生命周期和副作用
生命周期副作用APIDisposableEffectSIdeEffectLaunchedEffectrememberCoroutineScoperememberUpdatedStatesnapshotFlowproduceStatederivedStateOf
2024-05-08 17:05:16
599
原创 Compose 状态管理
使用MutableStaterememberStatelessComposable & StatefulComposable状态提升rememberSaveable支持parceable不支持parceable使用ViewModelViewModelProvider.Factory使用Flow
2024-05-07 17:17:56
521
原创 Jetpack Compose简介
声明式UI和命令式UIJetpack Compose和Android View对比Compose API设计原则一切皆为函数组合优于继承单一数据源Jetpack Compose和Android View关系
2024-04-28 15:11:40
1089
原创 Compose和Android View相互使用
在Compose中使用View概述简单控件复杂控件嵌入XML布局在View中使用Compose概述在Activity中使用Compose在Fragment中使用Compose布局使用多个ComposeView在布局中使用Compose组合使用
2024-04-26 10:22:01
1182
1
原创 Compose 动画
高级别动画AnimatedVisibiliy 可见性动画animateContentSize 布局大小动画Crossfade 淡入淡出动画低级别动画animateXXXAsState 属性动画Animatable 帧动画updateTransition 组合多个动画rememberInfiniteTransition 重复执行动画自定义动画
2024-04-23 14:37:24
265
原创 Compose Canvas
drawPointsdrawLinedrawRectdrawRoundRectdrawCircledrawOvaldrawArcdrawImagedrawPath混合模式
2024-04-19 16:29:57
323
原创 Compose 布局
ColumnRowBoxConstraintLayoutLazyColumnLazyRowLazyVerticalGrid
2024-04-18 16:48:12
1008
原创 Compose 简单组件
TextTextFieldButtonImageCircularProgressIndicator & LinearProgressIndicator
2024-04-17 15:26:12
1069
原创 Android 自定义EditText
定义一款可清空内容的 EditText 和可显示密码的 EditText,支持修改提示图标和大小、背景图片等。
2024-03-27 15:58:37
1045
Android 获取屏幕、状态栏、导航栏信息
2023-11-03
Android BLE开发总结
2023-03-27
Gson基本使用,数据容错处理
2022-04-27
RecyclerDemo.rar
2019-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人