android 系统级别知识库

该博客围绕Android和Flutter技术展开。深入探讨了Android应用无响应机制、技术架构演进、组件原理、系统启动流程等,还包含Binder通信、消息机制等内容。同时对Flutter的运行原理、编译机制、渲染机制等进行了分析,并有相关实战案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 android

彻底理解安卓应用无响应机制


Android技术架构演进与未来


理解Android P内部API的限制调用机制


global reference限制策略


深度解读ArrayMap优势与缺陷


源码解读epoll内核机制


源码解读poll/select内核机制


源码解读Linux等待队列


理解Android.bp


解读Android进程优先级ADJ算法


Binder Driver缺陷导致定屏的案例


系统角度解读Android P新特性


深度剖析APP保活案例


跑monkey压力测试过程的冻屏案例


数组越界导致系统重启的案例


一行Log引发多线程并发问题的案例


Android logd日志原理


NotificationManagerService原理分析


介绍gdb调试工具


介绍addr2line调试命令


/proc/stat解析


Android SDK与API Level对应关系


Android打印Trace堆栈


AMS之dumpsys篇


AMS总结(一)


全面剖析SharedPreferences


四大组件之ActivityRecord


四大组件之ContentProviderRecord


四大组件之BroadcastRecord


四大组件之ServiceRecord


四大组件之综述


Binder异常解析


LocalBroadcastManager原理分析


简述Activity与Window关系


理解Android Context


理解Application创建过程


loadLibrary动态库加载过程分析


Android类加载器ClassLoader


理解AlarmManager机制


理解JobScheduler机制


Choreographer原理


SurfaceFlinger绘图篇


SurfaceFlinger启动篇


Android图形系统概述


以Window视角来看startActivity


WMS—启动窗口(StartingWindow)


WMS—启动过程


Input系统—ANR原理分析


Input系统—事件处理全过程


Input系统—UI线程


Input系统—InputDispatcher线程


Input系统—InputReader线程


Input系统—启动篇


理解Android ANR的信息收集过程


Native进程之Trace原理


解读Java进程的Trace文件


多用户管理UserManager


Installd守护进程


PackageManager启动篇


进程的Binder线程池工作过程


Android进程绝杀技--forceStop


Android四大组件与进程启动的关系


Binder死亡通知机制之linkToDeath


binderDied()过程分析


Android系统服务的注册方式


理解Android线程创建流程


Android LowMemoryKiller原理分析


彻底理解Android Binder通信架构


Binder子系统之调试分析(三)


Binder子系统之调试分析(二)


Binder子系统之调试分析(一)


AndroidStudio内存工具


AndroidStudio常用快捷键


AndroidStudio源码开发环境搭建


Android进程调度之adj算法


理解ContentProvider原理


Android存储系统之架构篇


Android存储系统之源码篇


Android重启流程(一)


理解Android ANR的触发原理


理解Native Crash处理流程


理解Android Crash处理流程


WatchDog工作原理


Android系统稳定性简述


debuggerd守护进程


DropBoxManager启动篇


调试系列2:bugreport实战篇


调试系列1:bugreport源码篇


Android Broadcast广播机制分析


Android JNI原理分析


Linux系统调用(syscall)原理


Android EventLog含义


dumpsys命令用法


ContentProvider引用计数


unbindService流程分析


bindService启动过程分析


如何自学Android


AMS杀进程场景之汇总


理解杀进程的实现原理


理解Android进程创建流程


理解Android编译命令


简述Activity生命周期


startActivity启动过程分析


startService启动过程分析


Binder IPC的权限控制


Pm命令用法


Am命令用法


ActivityManagerService启动过程


Android系统启动-SystemServer下篇


Android系统启动-SystemServer上篇


Android系统启动-zygote篇


Android系统启动-Init篇


Android系统启动-综述


性能工具Traceview


性能工具Systrace


Java线程池分析


Android耗电统计算法


Android内存分析命令


Android消息机制3-Handler(实战)


Android消息机制2-Handler(Native层)


Android消息机制1-Handler(Java层)


进程篇—进程整理


理解Refbase强弱引用


Binder系列10—总结


Binder系列9—如何使用AIDL


Binder系列8—如何使用Binder


Binder系列7—framework层分析


Binder系列6—获取服务(getService)


Binder系列5—注册服务(addService)


Binder系列4—获取ServiceManager


Binder系列3—启动ServiceManager


Binder系列2—Binder Driver再探


Binder系列1—Binder Driver初探


Binder系列—开篇


ps进程命令


Dalvik与ART虚拟机的GC调试日志


Android进程生命周期与ADJ


进程优先级


APP优化小建议


Android Launcher源码


Android事件分发机制


adb连接不上手机的解决方法


源码解读Android属性动画


Android动画插值器


Android三种动画实现


Android中的dp、sp与px换算关系


dumpsys原理简介


Android开发规范


Android体系架构


ADB常用命令笔记


SELinux 权限问题


Atom编辑器


Activity与Service生命周期


 组件系列

AMS总结(一)


四大组件之ActivityRecord


四大组件之ContentProviderRecord


四大组件之BroadcastRecord


四大组件之ServiceRecord


四大组件之综述


简述Activity与Window关系


理解Android Context


理解Application创建过程


彻底理解Android Binder通信架构


理解ContentProvider原理


Android Broadcast广播机制分析


ContentProvider引用计数


unbindService流程分析


bindService启动过程分析


简述Activity生命周期


startActivity启动过程分析


startService启动过程分析


Activity与Service生命周期


 else

Git常用命令


搭建Jekyll本地写作环境


Markdown笔记


 debug

介绍gdb调试工具


Android打印Trace堆栈


理解Android ANR的信息收集过程


Native进程之Trace原理


解读Java进程的Trace文件


理解Android ANR的触发原理


理解Native Crash处理流程


理解Android Crash处理流程


WatchDog工作原理


debuggerd守护进程


DropBoxManager启动篇


调试系列2:bugreport实战篇


调试系列1:bugreport源码篇


Android EventLog含义


dumpsys命令用法


性能工具Traceview


性能工具Systrace


dumpsys原理简介


Atom编辑器


 权限

Binder IPC的权限控制


SELinux 权限问题


 web

浅谈HTTP RESTful


浅谈HTTP协议


 tool

AndroidStudio内存工具


AndroidStudio常用快捷键


dumpsys命令用法


理解Android编译命令


Pm命令用法


Am命令用法


Android内存分析命令


ps进程命令


adb连接不上手机的解决方法


grep && find命令用法


dumpsys原理简介


ADB常用命令笔记


 java

Java类加载器(ClassLoader)


Java注解(Annotation)


Java线程池分析


wait、notify、sleep、interrupt对比分析


Jvm系列5—执行子系统


Jvm系列4—类的加载


Jvm系列3—字节码指令


Jvm系列2—Class文件格式


Jvm系列1—运行时内存结构


Java中的条件编译


理解Java反射机制


设计模式-开篇


 performance

性能工具Traceview


性能工具Systrace


数组遍历的性能分析


Java中的条件编译


 app

APP优化小建议


Android开发规范


 algorithm

数组遍历的性能分析


 进程系列

进程的Binder线程池工作过程


Android进程绝杀技--forceStop


Android四大组件与进程启动的关系


理解Android线程创建流程


Android进程调度之adj算法


AMS杀进程场景之汇总


理解杀进程的实现原理


理解Android进程创建流程


进程篇—进程整理


进程状态的切换


ps进程命令


Android进程生命周期与ADJ


进程优先级


 虚拟机

Dalvik与ART虚拟机的GC调试日志


 memory

Android LowMemoryKiller原理分析


AndroidStudio内存工具


Android内存分析命令


Linux内存管理


Jvm系列1—运行时内存结构


 jvm

Java类加载器(ClassLoader)


Jvm系列5—执行子系统


Jvm系列4—类的加载


Jvm系列3—字节码指令


Jvm系列2—Class文件格式


 linux

源码解读epoll内核机制


源码解读poll/select内核机制


源码解读Linux等待队列


Linux进程pid分配法


Linux进程管理(二)--fork


Linux进程管理(一)


Linux系统调用(syscall)原理


Linux Kernel简介


Linux信号(signal)机制


select/poll/epoll对比分析


Linux内存管理


 binder

Binder异常解析


进程的Binder线程池工作过程


彻底理解Android Binder通信架构


Binder子系统之调试分析(三)


Binder子系统之调试分析(二)


Binder子系统之调试分析(一)


AMS杀进程场景之汇总


Binder IPC的权限控制


Binder系列10—总结


Binder系列9—如何使用AIDL


Binder系列8—如何使用Binder


Binder系列7—framework层分析


Binder系列6—获取服务(getService)


Binder系列5—注册服务(addService)


Binder系列4—获取ServiceManager


Binder系列3—启动ServiceManager


Binder系列2—Binder Driver再探


Binder系列1—Binder Driver初探


Binder系列—开篇


 ipc

Linux信号(signal)机制


select/poll/epoll对比分析


Binder系列—开篇


 handler

Android消息机制3-Handler(实战)


Android消息机制2-Handler(Native层)


Android消息机制1-Handler(Java层)


 process

Linux进程pid分配法


Linux进程管理(二)--fork


Linux进程管理(一)


Android LowMemoryKiller原理分析


Java线程池分析


wait、notify、sleep、interrupt对比分析


 power

Android耗电统计算法


 系统启动

ActivityManagerService启动过程


Android系统启动-SystemServer下篇


Android系统启动-SystemServer上篇


Android系统启动-zygote篇


Android系统启动-Init篇


Android系统启动-综述


 AMS

Am命令用法


ActivityManagerService启动过程


 PMS

Pm命令用法


 自学编程

如何自学Android


 stability

理解Android ANR的信息收集过程


Android重启流程(一)


理解Android ANR的触发原理


理解Native Crash处理流程


理解Android Crash处理流程


WatchDog工作原理


Android系统稳定性简述


 组件

loadLibrary动态库加载过程分析


Binder死亡通知机制之linkToDeath


binderDied()过程分析


 art

global reference限制策略


解读Java进程的Trace文件


 graphic

Choreographer原理


 NativeDebug

介绍gdb调试工具


介绍addr2line调试命令


Android打印Trace堆栈


 实战案例

理解Android P内部API的限制调用机制


深度解读ArrayMap优势与缺陷


Binder Driver缺陷导致定屏的案例


深度剖析APP保活案例


跑monkey压力测试过程的冻屏案例


数组越界导致系统重启的案例


一行Log引发多线程并发问题的案例


 flutter

字节跳动为什么选用Flutter:并非跨平台终极之选,但它可能是不一样的未来


彻底掌握Timeline原理(一)


ServiceIsolate工作原理


Dart虚拟机运行原理


解读Dart虚拟机的参数列表


Flutter机器码生成gen_snapshot


Flutter前端编译frontend_server


源码解读Flutter run机制


源码解读Flutter tools机制


深入理解Flutter的Platform Channel机制


搭建Flutter Framework开发环境


搭建Flutter Engine源码编译环境


深入理解Flutter的Isolate创建过程


深入理解Flutter异步Future机制


深入理解Flutter消息机制


深入理解Flutter动画原理


深入理解setState更新机制


深入理解Flutter应用启动


深入理解Dart虚拟机启动


深入理解Flutter引擎启动


Flutter渲染机制—GPU线程


Flutter渲染机制—UI线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值