摘要:
一、Service基础 1. Service是什么? Service是一种在后台长时间运行,但是没有界面与用户交互的组件。在App退出时,Service依然在后台运行,这就是Service保活。 Service与BoradCast都是运行在主线程中。所以,Service不能执行耗时操作。 2. Se 阅读全文
摘要:
一、UI线程是什么? UI线程就是刷新UI的线程。 二、UI线程是不是主线程? 主线程何时启动 在应用启动时AMS请求Zygout进程启动应用进程,在应用进程启动后的第一条线程就是主线程,线程启动后执行ActivityThread.main()函数,在main()函数中启动的主线程Looper。 p 阅读全文
摘要:
一、Activity启动流程 简述Activity启动过程 attach上下文不只是将创建的Context对象设置到Activity中,在attach还做了其它的初始化操作,比如:创建PhoneWindow。 二、Activity作用 Activity主要的作用是管理Activity的生命周期和事件 阅读全文
摘要:
一、ServiceManager的作用是什么 ServiceManager从字面意思是管理服务的。 ServiceManager是用于查询服务和获取服务的。 二、ServiceManager启动过程 源码:frameworks/native/cmds/servicemanager ServiceMa 阅读全文
摘要:
一、启动过程 1. 启动过程 2. 执行流程 发送startAcitivity请求到AMS。 AMS查看应用进程是否启动。 未启动应用进程。 AMS向Zygote进程发送启动进程请求(socket通信)。 Zygote进程Fork应用进程。 应用进程已经启动,进程创建Activity过程。 Zygo 阅读全文
摘要:
一、Application的作用是什么? 保存全局变量,但是,不建议在Application中保存全局变量。在App进入后台后,当前设备内存不足,会回收一些不在前台应用的内存,保存在Application中的全局变量会被释放,当前App在回到前台使用这些变量,变量会是null。 初始化任务。 提供C 阅读全文
摘要:
一、Context作用是什么? 下面看下Context源码中的注释: /** * Interface to global information about an application environment. This is * an abstract class whose implement 阅读全文
摘要:
一、ThreadLocal是什么? ThreadLocal全名是Thread Local Variable,是Java中线程局部变量类。 二、作用 用于存储线程内的变量,变量不会被其它线程污染。 三、原理 通过源码: public class ThreadLocal<T> { /** * Threa 阅读全文
摘要:
一、什么是系统服务及哪些是系统服务 系统服务包括:AMS、WMS、PMS、PKMS等。 二、Binder应用服务 什么Binder? 三、系统服务与Binder应用服务启动 1. 系统服务启动是通过SystemServer中的run函数中启动的。 // Start services. try { t 阅读全文
摘要:
一、简介: Binder是跨进程内存访问,是Android中使用最广泛的IPC机制。 Binder由以下几部分组成: Binder驱动 Binder Manager Binder Client Binder Service 对照TCP/IP中Client与Server服务连接过程: Binder驱动 阅读全文