C1☆ Blog

Thinking will not overcome fear but action will.

Android资源学习(一)资源编译

Android资源学习系列

Android资源学习(一)资源编译 # 前言 经历了一个多月的考试月,饱受了不能去探索技术道路的苦,今天考完最后一门课之后真的很激动的利用晚上的时间来给自己充充电,因为各种原因,笔者会写一系列和资源相关的文章,加深我对Android资源的理解和认识 # 资源编译关键流程 资源编译是Android apk构建的第一步,而这一步会生成R.java文件和resource.arsc和res...

ART学习笔记(四)Reference

ART学习笔记

ART学习笔记(四)Reference # Reference关键类 Reference是一个抽象模但是其中没有声明abstract方法,但是Reference有四个派生类,分别是SoftReference、WeakReference、PhantomReference和FinalizerReference 假如存在一个非Reference对象obj,对GC可能有三种情况: ...

ART学习笔记(三)Heap

ART学习笔记

ART学习笔记(三)Heap # Heap中的关键类 位图 位图是ART中的一种数据结构,主要的目的是为了将对象的指针转换成一个位图里的索引,而指针中的地址值借助位图索引来进行计算:base + pos*sizeof(指针),用这种方式减少指针本身所占用的内存空间 HeapBitmap:HeapBitmap是一个辅助类,内部包含continuous_space_bitmaps和...

ART学习笔记(二)RosAlloc

ART学习笔记

ART学习笔记(二)RosAlloc 前言 上一篇笔记记录了ART虚拟机中的各种Space,而MallocSpace这个虚类就是ART设计与实现如C语言般的内存分配及释放,而且ART中默认用的是RosAllocSpace,它的内存分配和释放算法是依赖于rosalloc实现的 # RosAlloc关键类及成员变量 FreePageRun: 在RosAlloc中通过AllocP...

ART学习笔记(一)Space

ART学习笔记

ART学习笔记(一)Space # 前言 隔了有一段时间没有去记录下学习的内容,心里感觉怪怪的,前段时间一直在忙着项目的开发,最近终于交接了,有时间来回顾一些学习的内容 # Space关键类 第一层Space & AllocSpace: Space代表一块内存空间,而AllocSpace代表一块可用于内存分配的空间,提供了和内存分配及释放有关的虚函数 ...

I/O回顾系列(二)Okio

I/O回顾系列

I/O回顾系列(二)Okio # 前言 上一篇文章回顾了Buffer I/O的读写优化策略,这一篇文章主要是从Okio的源码入手,看一下Okio它解决了什么问题,如何解决的 # Segment [Segment-> Field] final class Segment { // 一个segment可存储的最大字节数 static final int SIZE = 81...

I/O回顾系列(一)Buffer I/O

I/O回顾系列

I/O回顾系列(一)Buffer I/O # 前言 上一个数据结构回顾系列中回顾了一些android中以及java中常见的一些数据结构的实现,而最近终于有空可以抽出时间回顾下一个专题,这个专题其实早在apk学习系列后就想开启,因为当时不管是看Walle也好,VasDolly也好,其实它们内部都用到了NIO,不过无奈课真的太多了……,现在这个回顾系列会从Buffer I/O -> O...

数据结构回顾(五)ConcurrentHashMap1.8

数据结构回顾系列

数据结构回顾(五)ConcurrentHashMap1.8 前言 上一篇文章回顾了1.7版本下ConcurrentHashMap的实现,这一篇文章就是学习并记录下ConcurrentHashMap1.8的实现,分开两篇文章来写主要是还是想curd都走一遍,而且不让一篇文章太累赘 Field // 默认为0,用来控制table的初始化和扩容操作 private transient vo...

数据结构回顾(四)ConcurrentHashMap1.7

数据结构回顾系列

数据结构回顾(四)ConcurrentHashMap1.7 前言 上两篇笔记已经回顾了HashMap以及红黑树两种数据结构的实现,下一阶段想看的就是ConcurrentHashMap的1.7和1.8版本的不同实现 Field static final class Segment<K,V> extends ReentrantLock implements Serializa...

数据结构回顾(三)ArrayMap

数据结构回顾系列

数据结构回顾(三)ArrayMap 深度解读ArrayMap优势与缺陷