Android
Android源码学习
讨厌所有昵称是海洋精灵的
找工作ing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
android系列-SystemServer流程图
原创 2024-01-09 17:51:25 · 477 阅读 · 0 评论 -
android系列-SystemServer创建服务
SystemServer会开启很多服务,这些服务的创建流程类似,以Installer为例子。原创 2024-01-08 22:59:52 · 874 阅读 · 0 评论 -
android系列-Zygote 流程图
原创 2024-01-08 16:26:10 · 474 阅读 · 0 评论 -
android系列-System.gc()和Runtime.getRuntime().gc()的区别
和 `` 都是用于请求垃圾回收的方法,但它们之间的主要区别在于调用方式和实现。原创 2024-01-08 15:44:42 · 860 阅读 · 0 评论 -
android系列-init流程图
原创 2024-01-08 12:16:13 · 471 阅读 · 0 评论 -
android系列-init SecondStageMain
int SecondStageMain 流程原创 2024-01-08 12:14:00 · 682 阅读 · 0 评论 -
android系列-init 初始化日志
【代码】android系列-init 初始化日志。原创 2024-01-08 10:15:42 · 1270 阅读 · 0 评论 -
android系列-init SetupSelinux
【代码】android系列-init SetupSelinux。原创 2024-01-07 18:05:15 · 667 阅读 · 0 评论 -
android系列-开机启动流程图
原创 2024-01-07 17:00:36 · 596 阅读 · 0 评论 -
android系列-init 挂载文件系统
android init 挂载文件系统原创 2024-01-07 12:37:13 · 1636 阅读 · 0 评论 -
View系列-onClick执行流程
MotionEvent.ACTION_UP 触发点击事件。原创 2024-01-05 18:21:31 · 458 阅读 · 0 评论 -
View系列-事件分发
继续调用DecorView的superDispatchTouchEvent。DecorView是PhoneWindow的一个对象。PhoneWindow是Activity的一个对象。DecorView继承自FrameLayout。原创 2024-01-05 17:43:56 · 462 阅读 · 0 评论 -
Android系列-LayoutInflater 几个 inflate方法的区别
(来自chatgpt的回答)提供了多个inflate方法,用于将 XML 布局文件解析为相应的视图对象。这些方法的主要区别在于参数的组合和用途。以下是常见的几个inflate。原创 2023-12-29 01:37:22 · 904 阅读 · 0 评论 -
Android系列-SurfaceView和View
开发者可以在后台线程中实现自定义的绘制逻辑,而不受主线程刷新频率的限制。这对于需要高性能绘制、复杂动画或游戏开发来说尤为重要。下面是一个简单的示例,演示了如何使用。原创 2023-12-28 18:21:54 · 859 阅读 · 0 评论 -
android系列-SurfaceView和View的区别
更适合一般的 UI 绘制和交互。选择使用哪个取决于应用的具体需求和性能要求。需要注意的是,在使用。是 Android 中两种不同的视图组件,它们在渲染和刷新机制上有一些区别。适用于需要更灵活控制绘制的场景,例如游戏开发、视频播放等,而。时要注意线程同步和生命周期管理等问题。(来自chatgpt的回答)原创 2023-12-28 18:09:43 · 885 阅读 · 0 评论 -
ANR系列-ANR是什么
ANR 是 "Application Not Responding"(应用无响应)的缩写。Android系统中,AMS和WMS会检测App的响应时间,如果App在特定的时间无法响应屏幕触摸或者键盘输入时间,或者特定事件没有处理完毕,就会出现ANR。原创 2023-12-28 13:19:17 · 577 阅读 · 0 评论 -
apk瘦身方法
自己项目用过的开启代码混淆 minifyEnabled true 开启去除资源 shrinkResources true 使用矢量图 使用webp 手动删除无用资源、代码 精简abi库 abiFilters "armeabi-v7a" 精简资源 resConfigs "zh" //表示只使用中文 resConfigs "xhdpi" // 表示只是用xhdpi目录下的资源文件 动画使用lottie,不使用帧动画 减少代码:公共代码提取出来共用 避免滥用第三方库还没有用过的原创 2023-12-28 01:18:48 · 434 阅读 · 0 评论 -
矢量图优化包大小---vectorDrawables.useSupportLibrary
是一个在 Android Gradle 插件中的配置选项,用于指定是否在应用中使用支持库(Support Library)来兼容矢量图形(Vector Drawables)。在 Android 5.0(API级别21)及以上版本,Android 系统本身开始支持矢量图形,可以直接在应用中使用矢量图形资源文件(以。然而,在使用 Support Library 的情况下,你可以在更低版本的 Android 设备上使用矢量图形。`,则在构建应用时,矢量图形将被转换成支持库中的 `原创 2023-12-27 23:34:08 · 905 阅读 · 0 评论 -
Binder系列-bctest
调用binder_call。调用binder_call。(韦老师的视频截图)原创 2023-12-27 15:17:52 · 425 阅读 · 0 评论 -
Binder系列-service_manager.c
service_manager main流程图原创 2023-12-27 12:33:17 · 550 阅读 · 0 评论 -
Handler系列-IdleHandler
如果mIdleHandlers有IdleHandler需要执行,则触发IdleHandler。原创 2023-11-29 16:08:34 · 117 阅读 · 1 评论 -
Activity启动模式
如果三个Activity的启动模式都是singleInstance,接连启动A,B,C三个Activity后,back依次返回的话,每返回一次看到的是哪个ActivityTestActivity:主Activity。原创 2023-11-29 17:52:23 · 102 阅读 · 1 评论 -
Handler系列-消息屏障
在获得下一个要处理的Message的时候,如果MessageQueue有屏障消息,那就会pass掉!isAsynchronous()的消息,获得异步消息,对异步消息进行处理。根据token找到对应的屏障消息,从链表移除,对这个Message进行回收。这种消息为屏障消息,返回token,通过token可以移除这个屏障消息。原创 2023-11-29 15:15:32 · 463 阅读 · 1 评论 -
IntentService与普通Service的区别
使用IntentService的时候,需要覆盖onHandleIntent方法,startService后,最终会触发onHandleIntent方法,这个方法在HandlerThread执行,是在线程上,所以可以做耗时的操作。原创 2023-11-27 18:28:55 · 103 阅读 · 0 评论 -
Handler系列-prepareMainLooper在哪里调用的
ActivityThread的main方法里调用prepareMainLooper。prepareMainLooper创建了sMainLooper。原创 2023-11-27 01:04:37 · 411 阅读 · 0 评论 -
HandlerThread
在Thread的run方法里面。原创 2023-11-27 00:55:25 · 147 阅读 · 0 评论 -
Handler系列-怎么实现delay
sendMessageDelayed的延迟消息怎么实现的原创 2023-11-25 21:43:23 · 312 阅读 · 0 评论 -
Handler系列-sendMessage和post的区别
Handler系列-sendMessage和post的区别原创 2023-11-24 19:57:24 · 635 阅读 · 0 评论 -
Handler系列-怎么放入MessageQueue
Handler系列-怎么放入MessageQueue原创 2023-11-24 20:32:58 · 164 阅读 · 0 评论 -
Handler系列-Message是怎么重复利用的
返回表头的Message,将下一个消息更新为新的表头。使用链表来缓存Message,sPool为表头;执行完消息后,将Message缓存。最多能缓存50个Message;在Looper里面执行消息。原创 2023-11-24 17:36:38 · 448 阅读 · 1 评论
分享