android源码
hongzhily
梦想有一天拥有自己的帝国,之后探索宇宙,攻克癌症,发展文化事业
展开
-
HandlerThread源码
HandlerThread继承于线程,内部包含一个Looper,Looper在run方法中初始化并进入Loop循环 public void run() { mTid = Process.myTid(); Looper.prepare(); Looper.loop(); } 外部使用时,利用这个Looper生成Handler,这样这个Handler的dispatchmessage方法就...原创 2019-08-08 20:58:34 · 496 阅读 · 0 评论 -
IntentService源码
IntentService继承自Service,在onCreate方法中创建HandlerThread并启动线程,利用HandlerThread在子线程中的Looper生成一个在子线程中工作的ServiceHandler HandlerThread thread = new HandlerThread("IntentService[" + mName + "]"); thread.sta...原创 2019-08-08 21:14:18 · 246 阅读 · 0 评论 -
SystemServer启动流程
SystemServer被zygote启动后会运行到main函数,在这里面直接运行到run方法 public static void main(String[] args) { new SystemServer().run(); } 在run方法中,会做一些初始化,之后启动其他服务,最终进入Loop循环 private void run() { Looper.p...原创 2019-08-13 21:22:57 · 309 阅读 · 0 评论 -
classloader源码
DexClassLoader DexClassLoader继承于BaseDexClassLoader,可以加载自定义目录下的Dex文件,内部只有一个方法 public DexClassLoader(String dexPath, String optimizedDirectory, String libraryPath,ClassLoader parent) { super(dexPa...原创 2019-08-09 20:57:08 · 285 阅读 · 0 评论 -
ServiceManager源码流程
ServiceManager启动于单独的进程,要早于zygote启动,启动时首先运行到service_manager.c的main函数,对binder进行初始化并进入binderloop int main(int argc, char **argv){ bs = binder_open(128*1024); binder_become_context_manager(bs); binde...原创 2019-08-14 21:12:21 · 489 阅读 · 0 评论 -
blockcanary源码
blockcanary项目名称AndroidPerformanceMonitor,内含4个模块 1 blockcanary-android-no-op 2 blockcanary-analyzer 3 blockcanary-android 4 blockcanary-sample 本篇文章主要分析blockcanary-analyzer和blockcanary-android BlockCana...原创 2019-08-16 09:24:03 · 226 阅读 · 0 评论 -
Zygote源码分析
Android启动从init.rc开始,最开始启动ServiceManager service servicemanager /system/bin/servicemanager class core user system group system critical onrestart restart healthd onrestart resta...原创 2019-08-12 21:34:48 · 431 阅读 · 0 评论 -
SurfaceView
Surface Surface继承于Parcelable,内部拥有一系列native方法和一个canvas private final Canvas mCanvas = new CompatibleCanvas(); private Matrix mCompatibleMatrix CompatibleCanvas是Surface的内部类,主要包装了Canvas的Matrix方法 Surface...原创 2019-08-28 17:28:11 · 203 阅读 · 0 评论