2026/5/19 2:34:29
网站建设
项目流程
效果图网站推荐大全,东城网站建设哪家好,购物网站建设教程,手机网站备案费用Android 线程梳理
Android 进程梳理 APP 进程的线程
Heap thread poo 异步的HeapWorker, 包含5个Signal Catcher 捕捉Kernel信号#xff0c;比如SIGNAL_QUITJDWP 虚拟机调试的线程ReferenceQueueD 用于GCFinalizerDaemon 用于GCFinalizerWatchd 用于GCHeapTrimmerDaem 用于G…Android 线程梳理Android 进程梳理APP 进程的线程Heap thread poo 异步的HeapWorker, 包含5个Signal Catcher 捕捉Kernel信号比如SIGNAL_QUITJDWP 虚拟机调试的线程ReferenceQueueD 用于GCFinalizerDaemon 用于GCFinalizerWatchd 用于GCHeapTrimmerDaem 用于GCGCDaemon 用于GCBinder_1 用于IPCBinder_2 用于IPCpool-m-thread-n 线程池m中的第n个线程,包含若干个AsyncTask #1 异步任务RenderThread 渲染线程WifiManager 管理wifi的线程SystemServer 进程的线程Input是 SystemServer 线程里面非常重要的一部分主要是由 InputReader 和 InputDispatcher 这两个 Native 线程组成窗口动画由于窗口归 SystemServer 来管那么窗口动画也就是由 SystemServer 来进行统一的处理其中涉及到两个比较重要的线程Android.Anim 和 Android.Anim.if 这两个线程Android P 里面应用的启动动画由 Launcher 和应用自己的第一帧组成之前是在 SystemServer 里面的现在多任务的动画为了性能部分移到了 Launcher 去实现ServiceThreadServiceThread 继承自 HandlerThread 下面介绍的几个工作线程都是继承自 ServiceThread。每个 Thread 都有自己的 Looper 、Thread 和 MessageQueue互相不会影响。UiThreadIoThreadDisplayThreadAnimationThread名字叫 android.anim。WindowAnimator 的动画执行也是在 AnimationThread 线程中的Android P 增加了一个 SurfaceAnimationThread 来分担 AnimationThread 的部分工作来提高 WindowAnimation 的动画性能SurfaceAnimationThread名字叫 android.anim.lf。分担 android.anim 线程的一部分动画工作减少由于锁导致的窗口动画卡顿问题FgThreadRenderThread 渲染线程ActivityManagerService与 AMS 相关的 Trace 一般会用 TRACE_TAG_ACTIVITY_MANAGER 这个 TAG在 Systrace 中的名字是 ActivityManagerWindowManagerService与 WMS 相关的 Trace 一般会用 TRACE_TAG_WINDOW_MANAGER 这个 TAG在 Systrace 中 WindowManagerService 在 SystemServer 中多在对应的 Binder 中出现比如下面应用启动的时候relayoutWindow 的 Trace 输出在 Window 的各种场景一般都会有对应的 Trace 点来记录比如大家熟悉的 relayoutWIndow、performLayout、prepareToDisplay 等PackageManager PKMS线程PowerManagerSer PMS线程HandlerThreadBackgroundThreadom/android/internal/os/BackgroundThread.java。BackgroundThread 在系统中使用比较多许多对性能没有要求的任务一般都会放到 BackgroundThread 中去执行Binder很多时候当后台有大量的 App 存在的时候SystemServer 就会由于 Binder 通信和锁竞争导致系统或者 App 卡顿Binder_ IPC线程 包含16个system_server 包含4个此同名线程Heap thread poo 异步的HeapWorker, 包含5个Signal Catcher 捕捉Kernel信号比如SIGNAL_QUITJDWP 虚拟机调试的线程watchdog 看门狗线程CpuTracker 统计进程CPU信息PerformanaceCont system_server专有FileObserver system_server专有WifiMonitor system_server专有UEventObserver system_server专有Thread_ 普通线程包含若干个AsyncTask # 异步任务包含若干个JVM 中的线程Mutator 修改器线程指任何可以修改Heap的线程一般指应用业务线程。往往是Java线程Collector 垃圾回收的线程往往不是Java线程JIT编译线程单独的线程处理finalization和weak-referencing的线程往往是单独的线程Zygote 进程的线程ReferenceQueueD 引用队列的守护线程FinalizerDaemon 析构的守护线程FinalizerWatchd 析构监控的守护线程HeapTrimmerDaem 堆整理的守护线程GCDaemon 执行GC的守护线程mediaserver 进程的线程mediaserverApmToneApmAudioApmOutputSafe Speaker ThAudioOut_2FastMixerAudioOut_4FastMixerAudioOut_6Binder_1Binder_2