Android基础

93 阅读2分钟
死锁条件:

1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用 2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。 3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。 4、循环等待,即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。这样就形成了一个等待环路。

集合相关:

ArrayList: 加载因子:1, 1.5倍 + 1 默认容量 10

HashMap:加载因子:0.75, 2倍 默认容量 16

HashSet:加载因子:0.75, 2倍 默认容量 16

SparseArray:不大于4,扩容到8,大于就直接一倍

设计模式

BitMapFatory:工厂模式

Lifecycle:观察者模式

Rxjava,OKHttp:责任链

Context:装饰器模式

Adapter:适配器模式

AlertDialog:构造者模式。

LayoutInflater.from():WindowManagerGlobal单例模式

静态变量

成员内部类中不能存在任何static的变量和方法;

成员内部类是依附于外围类的,所以只有先创建了外围类才能够创建内部类。

final:变量、类、方法的修饰符,被final修饰的类不能被继承,变量或方法被final修饰则不能被修改和重写。

finally:异常处理时提供finally块来执行清除操作,不管有没有异常抛出,此处代码都会被执行。如果try语句块中包含return语句,finally语句块是在return之后运行;

finalize:Object类中定义的方法,若子类覆盖了finalize()方法,在在垃圾收集器将对象从内存中清除前,会执行该方法,确定对象是否会被回收