BAT Android面试关键点:ListView优化、安全问题与APK瘦身
版权申诉
87 浏览量
更新于2024-08-19
收藏 295KB PDF 举报
"这份PDF文件主要涵盖了Android面试中的一些核心问题,包括ListView的优化、Android安全问题以及APK包大小的缩减策略,并提及了对称加密和非对称加密的概念。"
1. **ListView的优化**
- **优化布局**: 保持Item布局简单,减少嵌套层次,使用Hierarchy View工具进行检查和优化。
- **convertView复用**: 通过convertView的复用来避免频繁创建新的View,提高滚动性能。
- **ViewHolder模式**: 使用ViewHolder来缓存视图引用,减少findViewById的操作。
- **异步加载图片**: 当item中包含图片时,使用异步加载技术(如 Glide 或 Picasso)防止阻塞主线程。
- **快速滑动策略**: 在快速滑动时不加载或显示占位符图片,减少内存消耗。
- **图片压缩**: 对图片进行适当压缩,减小内存占用。
- **分页加载数据**: 只加载可视范围内的数据,避免一次性加载大量数据导致内存压力。
2. **Android安全问题**
- **错误导出组件**: 不要随意导出应用组件,防止恶意程序调用。
- **参数校验**: 对输入参数进行严格校验,防止注入攻击。
- **WebView安全**: 注意WebView可能带来的JS注入风险,及时更新Webview并限制其权限。
- **混淆与防二次打包**: 应用混淆技术,防止反编译和二次打包。
- **敏感信息加密存储**: 不要明文存储关键信息,如密码、密钥等,应使用加密手段存储。
- **HTTPS正确使用**: 确保HTTPS的配置正确,防止中间人攻击。
- **权限管理**: 仅申请必要的权限,避免滥用。
- **内存泄露检测**: 定期检查并修复内存泄露问题,避免应用卡顿或崩溃。
- **签名安全**: 使用release签名发布应用,避免使用debug签名。
3. **缩减APK包大小**
- **良好编程习惯**: 删除冗余代码,避免不必要的库。
- **Proguard混淆**: 混淆代码,移除未使用的类和方法,优化代码体积。
- **精简Native库**: 只保留必要的armeabi和x86架构,考虑移除x86支持。
- **使用Lint工具**: 查找并删除未使用的资源。
- **图片优化**: 使用tinypng等工具预处理图片,根据需要选择jpeg或png格式。
- **9-patch图片优化**: 优化9-patch图片的拉伸区域,减少大图使用。
- **差异化资源提供**: 针对不同分辨率提供必要的图片资源,避免冗余。
- **重用图片资源**: 利用代码实现图片旋转,避免为对称图片提供多个版本。
- **减少动画图片**: 减少大量图片组成的动画,尝试使用代码实现动画效果。
4. **加密方式**
- **对称加密**: 使用相同的密钥进行加密和解密,如DES,速度快但密钥管理复杂。
- **非对称加密**: 使用一对公钥和私钥,公钥加密,私钥解密,如RSA,安全性高但计算量大。
这份资料是针对Android开发者面试准备的,包含了实际开发中常见的性能优化和安全实践,以及基础的加密原理,对于提升面试者的技术水平和面试表现非常有帮助。
1331 浏览量
1319 浏览量
4337 浏览量
2107 浏览量
9701 浏览量
38584 浏览量
6554 浏览量
创创大帝(水印很浅-下载的文档)
- 粉丝: 2481
- 资源: 5272
最新资源
- 西门子伺服电机介绍 pdf
- 庖丁解牛—纵向切入ASP.NET 3.5控件和组件开发技术.pdf
- ARM JTAG 调试原理
- 松下A4数字交流伺服安装调试说明书.pdf
- GNU Make 项目管理 英文版
- Math\第2章 MATLAB编程与作图.ppt
- 课程管理系统毕业设计论文
- Oracle9i&10g编程艺术_英文版
- vmware下linux的联网设置
- Hibernate References
- 传感器网络节点定位系统安全性研究
- XML文件XML Schema.docXML Schema.doc
- C语言程序设计试题精编
- Silverlight - MS Press
- 2008全国计算机模拟题库
- 集成运算放大器及基本运算电路