MAT(Memory Analyzer Tool), 是著名的Android内存分析工具, 虽然LeakCanary更加便捷, 但是MAT可以清楚地获知整体内存使用情况, 还是必须要掌握的. 我来讲解一下如何使用.
使用 Leak Canary 检测应用的内存泄露
LeakCanary是检测应用内存泄露的工具, 内存泄露是Android开发中常见的问题, 会导致应用的稳定性下降. 本文介绍LeakCanary的使用方式.
使用 Battery Historian 分析和优化应用的电量
在Android项目中, 较难监控应用的电量消耗, 但是用户却非常关心手机的待机时间. 过度耗电的应用, 会遭到用户无情的卸载, 不要存在侥幸心理, 给竞品带来机会. 因此, 我们需要研究应用的耗电量, 并进行优化. 本文讲解一下Battery Historian, 是一款由Google提供的Android系统电量分析工具, 5.0+显示完整电量信息, 5.0-只显示少量. 在网页中展示手机的电量消耗过程, 输入电量分析文件, 显示消耗情况. 最后提供一些电量优化的方法, 可供参考.
使用 Espresso 和 Dagger 自动化测试网络服务
可靠的功能测试, 意味着在任何时候, 获取的测试结果均相同, 这就需要模拟(Mock)数据. 测试框架可以使用Android推荐的Espresso. 模拟数据可以使用Dagger2, 一种依赖注入框架.
单元测试通常会模拟所有依赖, 避免出现不可靠的情况, 而功能测试也可以这样做. 一个经典的例子是如何模拟稳定的网络数据, 可以使用Dagger2处理这种情况.
实践移动端的 Flux 架构
任何架构最终目的都是让程序更加有序, 功能便于扩展, Bug容易追踪.
Facebook使用Flux架构来构建客户端的Web应用. Flux架构并不是为移动端设计的, 但是我们仍然可以采用这个思想在Android端使用. Flux是数据驱动型架构, 在以数据为核心的场景中使用非常合适, 不过Facebook好像把Flux架构应用于所有产品, 无论是前端还是移动端. 最新Facebook开发的ReactNative中, 就是使用Flux架构为核心, 也是开源的, 可以阅读RN的代码了解所有内容.
Flux架构, 顾名思义表示流, 是以数据流为基础.
提取应用的签名和包名
Android应用在使用第三方的库时, 可能需要申请密钥, 表明应用身份, 如高德定位SDK等. 应用签名(printcert)是公开的, 只要下载到Apk包, 就可以公开提取. 签名中包含MD5, SHA1, SHA256. 应用唯一性就是表现为签名+包名, 就像人的指纹一样重要, 是确定应用属性的重要信息, 也是应用商店检测盗版应用的途径.
本文讲解如何提取应用的签名和包名.
Android Tips 7
介绍关于Android的一些有趣的小知识点. 本文是第七篇, 欢迎阅读.
Android Tips 6
介绍关于Android的一些有趣的小知识点. 本文是第六篇, 欢迎阅读.
Android Tips 5
本文介绍一些, 在Android开发中会经常使用的小知识点, 每篇10个. 第五篇.
Android Tips 4
本文介绍一些, 在Android开发中会经常使用的小知识点, 每篇10个. 第四篇.
Android Tips 3
本文介绍一些, 在Android开发中会经常使用的小知识点, 每篇10个. 第三篇.
Android Tips 2
本文介绍一些, 在Android开发中会经常使用的小知识点, 每篇10个. 第二篇.
Android Tips 1
本文介绍一些, 在Android开发中会经常使用的小知识点, 每篇10个. 第一篇.
分析 Activity 的生命周期
在Android应用中, Activity是最重要的组件, 其生命周期(Lifecycle)被大家所熟知. 但是, 大家需要注意一些细节, 才能在使用中得心应手.
分析 Activity 的启动模式
在Android应用中, Activity是最核心的组件, 如何生成一个Activity实例, 可以选择不同的启动模式, 即LaunchMode. 启动模式主要包括: standard, singleTop, singleTask, singleInstance.