一、Android 各版本新特性
这个先开个坑,以后填。
二、Android两种虚拟机
Java提供了JVM虚拟机,而Android出于优化的考虑,又提供了自己的虚拟机Dalvik。
JVM基于栈架构,每次取数据是从内存中取。
Dalvik虚拟机是基于寄存器架构,每次去数据从寄存器中取,效率要比从内存中取要高。
二者执行的字节码也不一样,java虚拟机是执行jar文件,而DVM虚拟机是执行dex文件。
在Android 4.4以后,ART虚拟机用来替换DVM虚拟机。
ART相比于DVM,在安装应用时会进行一次预编译,将字节码编译成机器码并存储在本地,这样应用运行时就不需要编译了,运行效率大大提升。
ART比DVM占用空间要大,也就是用空间换时间。
同时,ART比DVM的GC种类也要多。
三、asset目录与res目录区别
asset目录下的资源获取方式为文件路径+文件名。而res目录下文件获取方式为R.xxx.xxx。
如果在目录下创建了子目录。asset目录下的文件可以通过修改文件路径名称来获取资源。而res目录下则不能通过R.xxx.xx.xx来获取,这样会报错。
asset目录下资源不会生成资源ID,使用时通过方法如getImageFromAssetsFile等获取。