Framework
chsmy2018
学无止境,任何技能都是慢慢积累出来的。
展开
-
class和dex
class文件 概念:可以被JVM识别加载并执行的文件格式。java,scala,kotlin,python,ruby都可以生成class文件 怎么生成class文件: (1)通过我们的IDE ,build生成 (2)通过javac命令生成 怎么执行class文件 (1)通过IDE中的run执行 (2)通过java命令执行 class文件的作用:记录一个类文件的所有信息 class文件的结构: ...原创 2019-01-24 10:08:58 · 2834 阅读 · 0 评论 -
理解虚拟机
JVM的结构 从上面的图可以看到,包含Class文件,类加载器(classloader),内存空间(分为方法区,java堆区,java栈区,本地方法区,垃圾收集),执行引擎,本地方法接口。 class文件就是java文件编译生成的 ClassLoader是加载.class文件的加载器 方法区是用来存储被加载的类信息,常量,静态常量,静态方法等,(永远占据内存)。常量池在方法区内,收到方法区的限...原创 2019-01-25 10:20:05 · 419 阅读 · 0 评论 -
ClassLoader
上一篇文章理解虚拟机,知道class文件是通过ClassLoader类加载器加载到JVM内存中的。现在来详细的了解一下Class Loader Java中的ClassLoader Bootstrap ClassLoader: 根ClassLoader,用C++实现,专门用来加载Java的核心API:$JAVA_HOME中jre/lib/rt.jar中所有class文件rt的意思是runtime E...原创 2019-01-28 14:55:26 · 2399 阅读 · 0 评论 -
Activity启动流程(上)
Android看源码的两个网站: https://www.androidos.net.cn/ http://androidxref.com/ Activity启动部分的代码真的很多,断断续续看了一个多星期,而且看这种frameworks层的代码不像在AndroidStudio中看代码方便可以直接点一个方法或者类逃过去,只能通过上面的网站看代码,用到哪个类只能一个一个的去找,所以一定要有耐心,等看完...原创 2019-03-06 13:47:44 · 348 阅读 · 0 评论 -
Activity启动流程(下)
继续上一篇Activity启动流程(上) 下面继续新activity的启动流程mStackSupervisor.startSpecificActivityLocked(next, true, true); /frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java void star...原创 2019-03-06 13:51:05 · 280 阅读 · 0 评论 -
Handler机制
Handler在我们日常开发中会经常用到,它主要用于处理异步消息,当发出一个消息之后,首先进入到一个消息队列,发送消息的函数即可返回,而另外一个部分在消息队列中逐一取出,然后对消息进行处理。 虽然经常用到它,但是用的方式不正确也会产生一些问题,下面先来了解一些Handler相关的问题并解决 Handler造成内存泄漏 Andorid中一般都是在子线程中执行耗时的业务逻辑,然后通过Handler发从...原创 2019-07-07 19:54:34 · 528 阅读 · 0 评论 -
Binder机制
Binder概述 Binder在我们大Android中是无处不在的,无论是调用媒体服务,传感器,还有我们经常在用的startActivity ,startService等等都在使用着Bindder来完成相应的功能。整个Android系统就可以看成一个基于Binder的C/S架构,binder英文意思是粘合剂,Binder就是这个粘合剂,把各个组件系统粘合在一起。Binder这么重要,作为Andro...原创 2019-07-13 13:18:55 · 263 阅读 · 0 评论