Android 面试常问知识

Q1:线程间的通信
进程间通信的几种方式
进程间通信方式详解
Q2:线程安全
SharePreferences 是否线程安全
SharePreferences 详解

什么是线程安全

参考资料

线程安全 
当多线程访问 使用加锁机制 保证当前只能有一个线程访问数据
时其他线程不能访问 直到当前线程读取完毕其他线程才可以使用。
不会出现数据不一致或者数据污染。

线程不安全
线程不安全就是不提供数据访问保护 有可能出现多个线程先后修改了数据
得到脏数据

Q3:内存泄漏

参考资料

真参考资料_详细

Q4: 什么情况下会触发垃圾回收

参考资料

如何触发垃圾回收
确定回收对象
1. 计数器法  
实现方法 当对象被创建是同时创建计数器 
每当该对象存在新的引用时计数器+1当引用失效计数器-1 当计数器值为0时触发GC
2. 标记清除法
根据图论...
... 了解这么多就行了
确定回收对象后何时回收
1. 会在cpu空闲的时候自动进行回收
2. 在堆内存存储满了之后(main)
3. 主动调用System.gc()后尝试进行回收

确定回收对象确定回收时机如何回收
1. 各种收集器 各种收集策略和算法...
...

你可能感兴趣的:(Android 面试常问知识)