Android 开发周报:内存泄漏检测、工程模板化实践

  • 郭亮

2016 年 8 月 16 日

话题:移动Android语言 & 开发架构

  • 《小红书 Android 客户端技术演进之路》:小红书从最初 1.0 到现在目前 4.7 版本,历经两年,安装包从原先的 5M 发展到现在的 17M,产品模块也从原先的只有社区模块发展到了具有社区和电商两个大模块。App 包含社区、电商、支付、推送、直播、统计等各种功能和模块。本文详细介绍了小红书 Android 客户端两年来的技术演进之路。

  • 《Chrome Custom Tabs 最佳实践》:距离 Google 发布 Chrome Custom Tabs 已经一年,Twitter、Medium 等国外 App 早已支持了这个功能,但遗憾的是国内 App 鲜有支持。这篇文章以官方开发文档示例源码为基础,加上自己的理解,希望能帮助读者快速掌握 Chrome Custom Tabs 的用法。

  • 《ContentProvider 简介》:Content Provider 属于 Android 四大组件之一,相比较而言,它更侧重于共享数据。Android 的数据存储方式有以下几种:Shared Preferences、网络存储、文件存储、数据库。但是一般情况下这些数据都是在单独一个应用中使用,数据和文件在不同应用程序之间的共享也比较复杂,而 Content Provider 则正好比较擅长这个,如果需要共享给其他应用,那么我们就可以通过 Content Provider 来实现了。

  • 《利用 Android Studio、MAT 对 Android 进行内存泄漏检测》:Android 开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的 crash,甚至可能出现因内存不足而导致 APP 崩溃。Android 的内存泄漏分析工具常用有 Android Studio 和基于 eclipse 的 MAT(Memory Analyzer Tool)。通过两者配合,可以发挥出奇妙的效果。阅读文章,了解详细的操作方案。

  • 《Android 上的安全音量》:当 Android 设备插上耳机,为了避免音量过高伤害用户听力,会触发其“安全音量”(Safe Media Volume) 机制,如果在未经用户确认允许使用大音量时,且这时设置音量 newIndex 超过其推荐阈值,却会发现毫无反应,播放的声音依然不会很大。那么需要如何解决该问题呢?本文给出了答案。

  • 《网易 Android 工程模板化实践》:对于各个基础模块,网易团队封装成了 SDK,如网络库、本地存储库、页面管理库、图片库等。使用内部的工程模板生成的初始工程,就已经包含了基础模块,产品团队的开发不需要再花费重复的时间做技术调研、选型、SDK 封装集成等工作,而只需要关心自己的业务逻辑编写。这样产品团队只需 1 分钟就能得到自己的初始工程,并能马上投入业务逻辑开发,既能缩短开发周期,也能保证工程代码质量。本文为我们介绍了网易团队的模板化实践,从中我们能够学习到模板化的相关知识。

  • 《Android 开发之 App 启动时间统计》:作为 Android 开发者,想必多多少少要接触启动速度优化相关的事情,当用户越来越多,产品的功能也随着迭代越来越多,App 逐渐变得臃肿是一件很常见的现象,甚至可以说是不可避免的现象,随之而来的工作就是优化 App 性能,其中最主要的一项就是启动速度优化。本文的主角并不是启动速度优化,而是启动时间统计。

  • 移动Android语言 & 开发架构