当前位置: 首页 > news >正文

安卓性能优化面试题 11-15

 11. 简述APK安装包瘦身方案 ?
(1):剔 除掉冗余的代码与不必要的jar包;具体来讲的话,我们可以使用SDK集成的ProGuard混淆工具,它可以在编译时检查并删除未使用的类、字段、方法 和属性,它会遍历所有代码找到无用处的代码,所有那些不可达的代码都会在生成最终apk文件之前被踢除掉,同时他还会重命名类、属性、接口;在使用 ProGuard的时候需要注意,它默认情况下是会对第三方库进行混淆的,而第三方库有的已经进行过混淆,有的使用了Java反射技术,所以我们在进行代 码混淆的时候要排除这些第三方库,具体来讲的话就是在混淆规则文件中添加一些规则;也可以使用AndResGuard来剔除哪些冗余代码,他可以做到直接 处理安装包而不依赖于源码,也不依赖编译过程,也就是说仅仅输入一个安装包,就得到一个混淆包;
(2):剔除无用的资源;使用ProGuard的话,仅仅是对代码进行了分析,但是对于图片资源的话,就束手无策了,这个时候可以使用Lint工具,它是 一个静态代码分析器,你只需要通过调用./gradlew lint命令就可以查找到所有无用的资源文件,在检查结束之后会提供一份详细的资源文件清单,只要我们不通过反射来访问这些无用的资源,就可以放心的删除 这些资源了;有一点需要注意,Lint会分析res下面的资源文件,但是会跳过assets下面的资源文件,Lint不能判断某
http://www.lryc.cn/news/320624.html

相关文章:

  • Python错题集-9PermissionError:[Errno 13] (权限错误)
  • QT TCP通信介绍
  • 保姆级教学!微信小程序设计全攻略!
  • 日期差值的计算
  • 为什么需要Occupancy?
  • SSA优化最近邻分类预测(matlab代码)
  • nginx相关内容的安装
  • 基于SpringBoot和Echarts的全国地震可视化分析实战
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的农作物害虫检测系统(深度学习模型+UI界面+训练数据集)
  • 21 # 高级类型:条件类型
  • Java之List.steam().sorted(Comparator.comparing())排序异常解决方案
  • js判断对象是否有某个属性
  • CleanMyMac X2024永久免费的强大的Mac清理工具
  • 等保测评的知识
  • 【算法】多路归并(鱼塘钓鱼)
  • unity3d Animal Controller的Animal组件中General基础部分理解
  • css背景从上到下颜色渐变、css背景从左到右颜色渐变、 css框线展示外阴影、css框线展示内阴影
  • Nacos学习笔记
  • 微信小程序 nodejs+vue+uninapp学生在线选课作业管理系统
  • trpc-go 博客系统
  • 【JAVA】Servlet开发
  • k8s helm 删除 tiller
  • Python入门(小白友好)
  • 【数据结构与算法】:非递归实现快速排序、归并排序
  • 2024-3-18-C++day6作业
  • 【OceanBase诊断调优】—— 敏捷诊断工具obdiag一键分析OB集群日志设计与实践
  • python 调用redis创建查询key
  • 归并排序思路
  • 【蓝桥杯选拔赛真题65】python输出三个字符 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析
  • K8S日志收集方案-EFK部署