自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiangxiongfly

Android & Flutter & H5

  • 博客(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

原创 Java HashMap源码分析

JDK1.7为:数组+链表。JDK1.8为:数组+链表+红黑树。

2021-07-14 16:34:03 306 1

原创 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

原创 Android 知识总结

Android 知识总结数据存储方式

2021-07-08 13:16:45 200

原创 Android View的工作流程

View的measure流程View的layout流程View的draw流程

2021-02-16 21:03:22 205

原创 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 WMS流程

Window & Activity & DecorView & ViewRoot关系

2019-08-27 16:54:53 704

原创 Android 事件分发机制

当我们点击屏幕,就产生了触摸事件,这个事件被封装成了一个类:MotionEvent。而当这个MotionEvent产生后,那么系统就会将这个MotionEvent传递给View的层级,MotionEvent在View的层级传递的过程就是点击事件分发。

2019-08-22 16:37:06 445

原创 Android 手写签名板

手写签名板功能,支持图片保存、支持去除空白区域。

2024-11-27 11:19:57 532

原创 微信小程序-状态管理和计算属性

mobx-miniprogram(状态管理)miniprogram-computed(计算属性)

2024-10-21 17:42:07 1270

原创 微信小程序-页面通信

EventChannelPubSubJS

2024-10-17 13:38:15 624

原创 微信小程序-自定义组件

小程序目前已经支持组件化开发,可以将页面中的功能模块抽取成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。

2024-10-16 16:47:46 1089

原创 微信小程序-WXS

内联WXS脚本外联WXS脚本

2024-10-14 11:22:41 565

原创 微信小程序-封装通用模块

封装toast和modal封装storage封装网络请求

2024-10-14 11:18:21 589

原创 Android 扩大View的点击区域

使用padding属性使用TouchDelegate使用getLocationOnScreen监听

2024-10-08 14:21:52 677

原创 微信小程序-WebSocket

微信小程序官方提供了 WebSocket API,允许服务器主动向微信小程序发送消息。

2024-09-25 14:49:01 2579

原创 微信小程序-canvas

在HTML中,canvas 标签可用于图形的绘制,也可用于创建图片特效和动画。在微信小程序中,canvas组件也起着类似作用,可用于自定义绘制图形,该组件支持2D和WebGL的绘图。

2024-09-25 14:48:22 1347

原创 微信小程序-动画

通过调用 wx.createAnimation() 方法创建 Animation 实例。

2024-09-25 14:47:29 890

原创 微信小程序-使用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

原创 AGP6.7升级为AGP7.6

【代码】AGP6.7升级为AGP7.6。

2024-07-22 14:40:00 839

原创 Android 性能优化之线程优化

【代码】Android 性能优化之线程优化。

2024-07-17 14:45:54 1176

原创 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 性能优化之内存优化

内存问题:内存抖动、内存泄露、内存溢出内存管理机制:Java、Android

2024-07-10 09:27:21 1446

原创 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

原创 Android 常用ADB命令

命令adb命令shell命令使用adb服务器操作设备操作应用文件操作activity操作日志操作

2024-06-27 16:14:46 302

原创 Android 动态修改APP图标

定义activity-alias图标和APP名切换监听APP前后台状态切换进入后台时切换修改图标和名字

2024-06-06 16:43:26 1478

原创 Compose CompositionLocal

Compose 提供了 CompostionLocal 用来完成 composable 树中共享数据方式。CompositionLocals 是具有层级的,可以被限定在以某个 composable 作为根结点的子树中,其默认会向下传递的,当然当前子树中的某个 composable 可以对该 CompositionLocals 进行覆盖,从而使得新值会在这个 composable 中继续向下传递。staticCompositionLocalOf 和 compositionLocalOf

2024-05-31 16:35:55 533

用于查看周围蓝牙设备信息

可以查看周围蓝牙设备信息,包含:蓝牙名、地址、设备类型等。

2024-01-12

Android 获取屏幕、状态栏、导航栏信息

手机屏幕高度 = 状态栏高度 + ActionBar高度 + ContentView高度 + 导航栏高度 有的手机开启全面屏手势后,底部导航栏会隐藏,有的则不会隐藏会变小,隐藏需要判断导航栏是否显示,然后再计算高度。

2023-11-03

Android BLE开发总结

AndroiBLE开发总结: 在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下: - 设备(Device):指BLE设备,如蓝牙耳机、传感器等。 - 服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一个唯一的UUID,服务中包含多个特征值。 - 特征(Characteristic):指BLE设备服务中的特征值,每个特征值有一个唯一的UUID,可以读取、写入和监听特征值数据。 - 描述(Descriptor):指BLE设备服务中特征值的描述信息,描述信息通常包含对特征值的详细描述和配置信息。

2023-03-27

jquery1.12.4

jquery1.12.4 压缩版

2022-12-19

蓝牙串口调试助手apk

蓝牙串口调试助手

2022-09-09

Gson基本使用,数据容错处理

Gson基本使用,数据容错处理 适配boolean、Boolean、int、Integer、float、Float、double、Double、long、Long、String类型。 还包括服务器返回的restful规范数据。

2022-04-27

Android 软键盘处理

1. EditText基本使用 2. 软键盘遮挡问题及处理

2022-04-25

MyPhoto.rar

Android 调用系统相册、拍照、剪裁功能

2021-12-22

ListViewDemo.rar

ListView基本使用,ArrayAdapter、SimpleAdapter、BaseAdapter

2019-11-05

RecyclerDemo.rar

Android RecyclerView基本使用完整代码!!! layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL)); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(mAdapter);

2019-10-14

Android 使用MVP+RxJava+Retrofit

Android使用MVP+RxJava+Retrofit,实现登录功能。

2019-04-02

Android简单使用ARouter

Android简单使用ARouter,普通使用、拦截器、服务等。

2019-03-20

Android防快速重复点击

Android防快速重复点击,防止多次重复点击导致多个相同的界面

2018-09-26

仿抖音列表

模仿抖音视频列表,一遍滚动一遍播放视频,全屏展示。

2018-09-20

两球旋转动画效果

两球旋转动画效果,可以用于加载时的动画展示,高自定义。

2018-08-29

Android 启动页黑屏问题

Android 启动页黑屏问题,设置style样式,添加动画,增加界面流畅度

2018-08-20

仿IOS底部弹窗

使用PopupWindow仿一个IOS底部弹窗,进入退出动画,背景变灰

2018-08-19

Android动画

Android 视图动画( 补间动画,帧动画),属性动画详情使用

2018-07-17

android自定义通用PopupWindow

android 封装一个通用PopupWindow,避免重复造轮子,简化代码,方便管理。

2018-07-12

封装一个通用Dialog,使用DialogFragment

封装一个通用Dialog,使用DialogFragment有很多优势。

2018-07-12

android 自定义带删除按钮的EditText

自定义一个带icon图标带删除按钮的EditText,简洁代码。

2018-07-06

android环形进度条

一个通俗易懂的环形进度条,可以定制颜色角度,监听进度。

2018-07-05

android通用LoadingView封装框架

手写一个通用加载中、显示数据、加载失败、空数据的LoadingView框架。

2018-07-05

android底部切换标签

android底部通用切换标签,Fragment嵌套页面,方便自定义

2018-07-04

android_自定义TitleBar

开发过程中会遇见很多app顶部的控制栏,封装一个通用TitleBar

2018-07-04

android_验证码按钮

开发过程中会遇见很多app注册时,需要通过手机发送验证码验证 ,这是可以封装一个验证码按钮。

2018-07-04

空空如也

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

TA关注的人

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