
系统源码
明天的增加
一切都是最好的安排
展开
-
Android 虚拟机存储结构和垃圾回收机制介绍
虚拟机的存储结构分为5个部分,分别是程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区,下面就 介绍各部分的内容。程序计数器:较小的内存空间,指定当前线程执行字节码的行数Java虚拟机栈:线程私有的,生命周期与线程同步,每个方法执行的时候,都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出入口等信息,每个方法的调用都是栈帧入栈到出栈的过程。局部变量表用于存储方法相关的局部变量,包括基本数据、对象引用和返回地址等。栈深度大于虚拟机允许的深度,会抛出StackOverFlowErro原创 2020-12-03 14:22:42 · 385 阅读 · 0 评论 -
Android 线程介绍(二)—— 常用线程池介绍
线程池创建参数介绍:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue,原创 2020-12-03 14:09:12 · 142 阅读 · 0 评论 -
Android线程介绍(一)—— Java线程优先级和Android线程优先级对比
android开发过程中,线程优先级存在两种设置方法,一是Java的设置方法,二是android提供的设置方法。一、Java线程优先级设置方法Thread thread1 = new Thread();thread1.setPriority(10);内部调用的也是底层的方法public final void setPriority(int newPriority) { ThreadGroup g; checkAccess(); if (newPri原创 2020-11-30 11:40:16 · 454 阅读 · 0 评论 -
Android JetPack介绍
2017年,google开发者大会介绍了JetPack,表示google要开始统一开发规范,推荐开发者都使用JetPack内部的各项功能,之前的都会逐渐的depreated,下面就介绍一下JetPack内容:分为四个部分:基础 - Foundation提供最基础的底层功能,如向后兼容性、测试、开发语言kotlin支持等架构 - Architecture帮助开发者设计稳健、可测试且易维护的应用google推荐的架构是这个架构在我们创建project或者module的时候,就会推荐创建原创 2020-11-18 16:59:07 · 538 阅读 · 1 评论 -
Android packageManager.setComponentEnabledSetting()和setApplicationEnabledSetting()方法介绍
1、setComponentEnabledSetting()方法PackageManager提供了一个方法,setComponentEnabledSetting(),这个方法的作用是启用或者禁用四大组件,比如我们想禁用一个服务,就可以使用下面的方法,传入的参数就是服务的名称。/** * 禁用组件 * @param context 上下文 * @param className 组件类名 */private fun disableComponent(context: Context, classN原创 2020-11-13 17:30:34 · 4385 阅读 · 0 评论 -
Android handler机制浅析
1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢? 异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程则会阻塞等待。 说了这一堆,那么和Handler 、 Looper 、原创 2019-12-16 20:02:33 · 256 阅读 · 0 评论 -
Android AMS原理分析
AMS(ActivityManagerService)本质上就是一个AIDL,通过他调用系统的底层服务,加载Activity、Service四大组件。系统版本:Android10.0(29)各个版本具体的执行过程可能存在差异,但是总体的流程还是一样的,都是需要两次AIDL,来和系统进行交互。下面就来分析代码执行流程startActivity(new Intent(MainActivity.this,MainActivity.class));从上面这行代码开始:下面是依次执行的流程图其中有 两原创 2020-08-26 15:32:03 · 1227 阅读 · 0 评论 -
Android PMS工作原理
PMS整体原理如下:主要还是通过AIDL来调用系统信息比如:在MainActivity中调用getPackageManager().getPackageInfo("", PackageManager.GET_ACTIVITIES);具体的流程如下:上面只是简单的标记一下,并没有对照具体的代码进行分析,都是通过AIDL来获取系统的信息,如果想自己看的话可以参考上面的进行具体查看。...原创 2020-08-26 17:43:55 · 934 阅读 · 0 评论