
聊聊Android资源加载的那些事
当我们调用时,内部会先判断当前资源是否存在,如果不存在则直接抛出异常;接着调用去加载具体的drawable,内部会根据要加载的drawable的类型、是否是Color,以及是否存在缓存综合获取,如果存在当前屏幕密度的drawable,则使用缓存,否则重新加载。然后根据要加载的drawable文件后缀决定是还是,或者是其他类型的Drawable,最后将加载完成的Drawable的状态与配置参数(ConstantState)加入到缓存中。当我们调用getColor()获取某个颜色资源时,内部会先通过。