安卓面试之红黑树、工厂模式图解
满足一个树是红黑树条件:
- 每个节点要么是红色,要么是黑色。
- 根节点必须是黑色
- 红色节点不能连续(红色节点的孩子和父亲都不能都是红色)
- 从任意节点出发,到其所有叶子节点的简单路径上都包含相同数目的黑色节点.(非常重要)
- 每个红色节点的两个子节点一定都是黑色(叶子节点包含NULL)
下面展示一个红黑树插入数据过程
工厂模式和抽象工厂模式的区别
android 几种IPC方式:AIDL,Messenger和ContentProvider,Binder。
Binder与其他几种方式相比:
效率高:出了内存共享外,其他IPC都需要进行两次数据拷贝,而因为Binder使用内存映射的关系,仅需要一次数据拷贝。
安全性好:接收方可以从数据包中获取发送发的进程Id和用户Id,方便验证发送方的身份,其他IPC想要实验只能够主动存入,但是这有可能在发送的过程中被修改。