前言 你是否在一次提交后,想要撤回对应的内容迷茫无措... 你是否在多个分支来回切换开发中,对需要合并散落在不同分支的commit而束手无策... 你是否经常听到同事在说使用...
前言 你是否在一次提交后,想要撤回对应的内容迷茫无措... 你是否在多个分支来回切换开发中,对需要合并散落在不同分支的commit而束手无策... 你是否经常听到同事在说使用...
前言 前面已经从开机启动聊到了跟应用相关的system_server进程和zygote进程的启动流程,也知道了在开启一个应用进程的时候怎么通过socket通信让zygote孵...
前言 上一篇文章跟着源码的脚步了解了Android系统在开机的过程中,对系统中安装的应用程序会进行apk文件解析,并且对在manifest中注册的四大组件进行解析,并且将相应...
回顾 上一篇分析了当应用进程创建过后,反射执行到应用进程的入口方法ActivityThread.main()方法中启动topAcitivy的流程,最终会执行到Activity...
App进程启动流程 回顾 上一篇文章的流程分析中可以看到,通过ActivityStack类去调用startSpecificActivity()方法的时候,会在Activity...
前言 在system_server进程启动的流程中,system_server在启动其他服务的流程中,会去调用AMS的systemReady()方法,上一篇说这部分就会去启动...
前言 上一篇流程分析了zygote进程的启动,在zygote进程启动中会调用forkSystemServer()方法去启动systemserver进程,接下来就具体分析一下源...
前言 前面分析了init流程的启动,在解析init.rc配置文件中,会执行start zygote,然后会去解析相关的init.zygote.rc文件,在init.rc文件的...
启动过程 老是有在群里看到大佬们讨论Android系统的第一个始祖进程是init进程,对于有过多年开发经验的我,应用程序开发跟init进程是扯不上关系的,为了跟上大佬的脚步,...
引言 Android开发中经常会遇到各种内存问题,比如内存溢出,内存泄露,栈溢出等常见的问题,也会经常听到关于内存中的堆的概念和栈的概念,要想更好的解决这些问题,还是得站在一...
上一篇写动态代理的时候,拿Retrofit来举例子,提到了Retrofit在使用的时候通过注解来进行参数的配置,通过@Get()/@POST()/@Path()/@Query...
上一篇既然是静态代理,那么必然会有一个概念是动态代理,静态代理也是为了给这一篇动态代理做的铺垫;常年混迹Android开发群的我,总会遇到有朋友提问面试被问到Retrofit...
项目中有用到了数据库,之前使用的Litepal这个库,后面再接触到room过后,想要把项目的数据库方案进行一个切换,然后发现在每一个数据的model中,都直接使用了Litep...
Handler Android整个ui体系都是围绕handler的消息机制,handler可以在子线程发送消息,在主线程接收处理消息,从而实现线程的跨越,所有有必要对其进行更...