Android面试那些事儿

1,Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 
DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。

2,什么情况会造成内存抖动?

在onDraw()方法中new实例会造成内存抖动,这是因为onDraw()会被多次调用。

3,序列化和反序列化的本质是什么?

 序列化是为了方便数据的传递和存储,它的本质是将类转换成二进制。反序列化是将二进制转成类。Java提供了Serializable这个类,Android为我们提供了Parceble这个类。Serializable使用起来比较简单但性能消耗比较大,主要用在文件的存储上。Parceble使用稍微有些麻烦,但是性能消耗小,主要用在内存中的数据传递。

4,volatile关键字

 volatile关键字是与Java的内存模型有关的。Java提供的一中稍弱的同步机制,用来保证将变量的更新操作通知到其他线程,即新值能立即同步到主内存,使用时也立即从主内存刷新,变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的。

猜你喜欢

转载自blog.csdn.net/u011433937/article/details/90207659