自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 C语言实现 给定一个数组,找出其中出现次数最多的元素

对数组进行排序:初始化变量:遍历已排序数组:处理最后一个连续子序列:返回结果:时间复杂度和空间复杂度 时间复杂度:O(n log n) 排序操作占用了主要时间复杂度,即 O(n log n)。之后的一次线性扫描是 O(n),所以总时间复杂度为 O(n log n)。空间复杂度:O(1) 除了输入数据本身,我们只使用了常数级别额外空间(不考虑递归调用栈)。

2025-03-17 19:12:12 144

原创 C语言实现 数组中有一个数字出现的次数超过数组长度的一半

摩尔投票法是一种用于在线性时间内找到多数元素(即出现次数超过一半的元素)的算法。的数组,其中有一个数字出现的次数超过了数组长度的一半(即至少出现。

2025-03-17 17:47:47 139

原创 C语言实现O(1)单链表元素删除

【代码】【无标题】

2025-03-17 15:59:17 92

原创 Android 横竖屏切换activit生命周期变化以及源码流程

Android 13屏幕旋转完整源码流程解析

2025-03-17 11:21:30 751

原创 java 接口与抽象类区别对比

适用于存在共同代码逻辑的类族,如动物类中的 eat()方法可以通用实现。接口:新增方法会破会所有实现类,除非使用default方法。定义跨继承体系的通用能力。通过继承实现垂直扩展。通过实现实现水平扩展。抽象类:新增方法不会影响子类。1.代码复用vs行为规范。

2025-03-17 09:33:59 299

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

【代码】Android View事件分发机制解析。

2025-03-16 21:14:08 610

原创 Android activity切换生命周期变化源码分析

待补充。

2025-03-16 20:54:26 79

原创 如何优化自定义View

Android系统的GC会暂停主线程(STW, Stop-The-World),造成UI绘制卡顿。////设置消息屏障, 保证 mTraversalRunnable 的消息能够最优先处理。//检查主线程,这里就是为什么主线程才能绘制UI了。//继续绘制, 调用 度量 窗口 绘制。//移除消息屏障,保证UI刷新不卡顿。//消息屏障的原理是什么?中执行耗时操作(如对象创建),可能导致帧超时(>16ms),引发掉帧(Jank)。:Android的UI渲染依赖VSync信号(16ms/帧)。

2025-03-16 20:12:08 754

原创 二叉树输出第 k 层节点元素

【代码】二叉树输出第 k 层节点元素。

2025-03-15 21:08:39 62

原创 Android BroadCast的使用方法

【代码】Android BroadCast的使用方法。

2025-03-11 18:08:13 329

原创 postRunnable底层实现全解析

涉及知识内容:activity启动流程,以及activity 与 window view 的关系,同步可以延申到View的整个绘制流程。JNI方法:base/core/jni/android_os_MessageQueue.cpp ->源码位置:base/core/java/android/view/ViewRootImpl.java。是Handler类提供的核心方法,用于跨线程执行任务。,通过消息队列实现线程间通信。消息队列的核心操作依赖Native方法(在Android系统中,

2025-03-10 23:23:41 698 1

原创 Java 到 Native 的完整 JNI 链路实现模板,适用于 Android 系统源码开发场景(系统框架层注册)

以下是在 Android 系统源码系统框架层注册(如)中开发 JNI 的完整流程,涵盖从 Java 层到 Native 层的关键步骤及最佳实践。publicALOGEALOGIprintflogcatlibutils(在块中添加)在系统初始化代码中调用注册函数(如解释为什么在initinit.rczygote。

2025-03-04 19:29:55 749

原创 Java 到 Native 的完整 JNI 链路实现模板,适用于 Android 系统源码开发场景(标准动态注册)

以下是一个从 Java 到 Native 的完整 JNI 链路实现模板,适用于 Android 系统源码开发场景(如修改。

2025-03-04 16:03:57 308

原创 深入解析 Linux 内存管理:/proc/sys/vm/drop_caches 的作用与使用指南

是一个虚拟文件,用于控制 Linux 内核中缓存(Cache)的释放行为。通过向该文件写入特定值,可以触发不同类型缓存的清理操作。这一功能通常用于调试、性能测试或紧急内存回收场景。在 Linux 系统中,内存管理是一个复杂而高效的过程。内核通过缓存机制(如页缓存、目录项缓存等)优化磁盘 I/O 性能,但某些场景下,手动释放缓存可能成为必要操作。是 Linux 提供的一个关键接口,允许用户主动清理内存缓存。日常使用中,Linux 内核会自动管理缓存,手动释放可能反而降低性能(需重新加载数据到缓存)

2025-03-01 15:50:36 918

原创 JNI实战

JNI实战

2025-02-26 10:57:41 218

空空如也

空空如也

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

TA关注的人

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