Res目录下资源如图片文件和xml文件资源如何被加载显示出来

本文深入解析Android中资源如图片和XML如何通过Resources加载并显示。首先介绍了Context的Resources对象来源,接着详细分析了图片资源加载的源码实现,包括从缓存加载、Drawable创建过程,以及最终在View的draw方法中如何绘制。此外,还探讨了XML文件的加载方式。
摘要由CSDN通过智能技术生成

紧接上一篇 Android App启动时Apk资源加载机制源码分析 分析App启动时是如何加载初始化资源之后,接下来分析开发过程中调用显示资源View的Api接口(如设置背景图片)具体是如何把启动时加载好的图片显示出来。上篇讲的启动时候加载资源只是把资源初始化准备好,而这篇是将具体实际显示资源时候,是如何把启动时准备好的res资源加载出来供View显示。可以说上篇就是AssetManager实现了全部相关资源加载的第一步,这篇要讲的就是Resources是如何把获取相应id的具体资源加载出来。

在View及子View中提供很多资源显示的Api,下面具体就图片资源文件和Xml文件加载来分别讲述其源码实现原理以及相关可以学习的技巧。
###加载背景图片资源的源码实现分析
开发中设置加载背景图片,只需要通过Api即可完成,如View设置背景和ImageView设置,接下来具体分享实现:

 View加载背景图片
 
  public void setBackgroundResource(@DrawableRes int resid) {
        if (resid != 0 && resid == mBackgroundResource) {
            return;
        }

        Drawable d = nul
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trilen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值