本文主要是介绍【腾讯TMQ】静态测试技术之Lint冗余资源清理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引言:谈到冗余资源清理,我们不妨先来看看Android的资源组织方式和访问方式。
一、Android资源组织方式及访问方式
新建一个android工程后,默认资源路径res下生成对应的layout、drawable、values等子目录,分别对应以下几类常见的非代码资源:
layout,menu,anim等,代表res资源的顶层使用者,通过xml的方式组合控件,渐变动画等资源,给Activity等组件提供视图,通过这些xml脚本取代代码实现的布局&动效,解耦视图和界面逻辑,提升开发效率;
values,color,xml等,这一类代表res中的文本资源,都是xml格式资源,values主要存放arrays,attrs,colors,dimens,ids,string,integers,theme等基础资源,支持比较丰富的语言扩展;color主要存放返回color资源的selector资源;没有明确归属目录的xml资源,都可以放到xml目录下;
drawable,drawabld-xxx,raw等,这一类代表res中的多媒体资源,有比较丰富分辨率扩展,其中drawable目录主要存放返回drawable格式的selector,带nodpi标签主要存放一些与分辨率无关的9.png资源,其他带xxdpi等目录对应相应的分辨率机型,没有明确归属的非xml资源都可以放到raw目录下。
在资源目录中分类组织资源后,我们就可以通过引用资源 ID 来引用资源,所有资源的ID 都在项目中aapt工具自动生成的./gen/R 类中定义,该文件不能被手动修改,当资源发生变动时,它会相应更新。
访问资源的方法主要有两种:
1、在代码中:R.resource_type.resource_name (引用自定义资源) 或者 android.R.resource_type.resource_name(引用系统标准资源),比如R.string.hello,string 是资源类型,hello 是资源名称,API可以通过这种语法来访问定义的资源,如:getResources().getString(R.string.hello);
2、在 XML 中:使用对应的XML 语法,@[package:]type/nameÿ
这篇关于【腾讯TMQ】静态测试技术之Lint冗余资源清理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!