【腾讯TMQ】静态测试技术之Lint冗余资源清理

2024-04-14 04:38

本文主要是介绍【腾讯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冗余资源清理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902092

相关文章

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Nacos日志与Raft的数据清理指南

《Nacos日志与Raft的数据清理指南》随着运行时间的增长,Nacos的日志文件(logs/)和Raft持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本... 目录引言1. Nacos 日志文件(logs/ 目录)清理1.1 日志文件的作用1.2 是否可以删除

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

如何清理MySQL中的binlog问题

《如何清理MySQL中的binlog问题》:本文主要介绍清理MySQL中的binlog问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目http://www.chinasem.cn录清理mysql中的binlog1.查看binlog过期时间2. 修改binlog过期