从事 Android 开发六年,我学到的那些事( 二 )


Lint会告诉你布局中是否存在占用大量空间的命名空间 。
它还告诉你其他结构性的问题,例如使用了弃用的元素或目标API版本不支持的API调用 。它还会建议你使用所有库的最新版本 。
【从事 Android 开发六年,我学到的那些事】使用新的 SparseArray<String>(...) 代替 HashMap,可以获得更好的性能 。SparseArrays 会将整数映射到对象 。与普通的对象数组不同,下标间可能存在间隙 。
它比使用 HashMap 将整数映射成对象的效率更高 。
测试应用程序
测试驱动的开发(TDD)是确保你会测试每一行新代码的一种方法 。如果采用这种方式,那么在编写要实现的代码之前,你需要为添加的内容编写测试 。
由于时间和资源有限,大多数创业公司可能不会采用测试驱动的开发环境 。但是它已被许多公司广泛接受 。

从事 Android 开发六年,我学到的那些事

文章插图
Android 有三种类型的测试 。
1.单元测试
单元测试用于测试方法和小模块 。无需模拟器或真实设备即可运行这些测试,因为它们可以在JVM上运行 。
JUnit 和 Robolectric 是流行的 Android 单元测试框架,可以在JVM上快速运行测试 。
2. 设备测试
设备测试依赖于Android 框架 。由于这种依赖性,你需要模拟器或物理设备才能运行这种测试 。我们使用 Mockito 模拟设备测试中使用的对象 。
3. UI测试
我们可以利用UI测试活动的启动是否正确,或视图的存在是否正确 。Espresso和UI Automater 是UI测试中广泛使用的工具 。
以下是应用当前所包含测试的软件包结构 。
从事 Android 开发六年,我学到的那些事

文章插图
Test:单元测试都保存在这个文件夹中 。这些测试在JVM上运行,不需要 Android 设备或模拟器 。
Android test:所有设备和UI测试都保存在这个文件夹中 。这些测试需要 Android 物理设备或模拟器才能运行 。
使用版本控制
Git 和 BitBucket 是最常用的版本控制系统 。
版本控制可以跟踪文件的改动,可以记录完成的操作,并且可以根据需要恢复特定版本 。
但给你与团队一起工作时,版本控制有利于协作,而且还可以将所有的更改合并到源代码中 。如果没有版本控制,则你需要进行备份,并将代码存储到安全的地方 。
有了Git以后,代码就安全了 。你可以跟踪更改,还可以针对某次发布维护多个代码库 。它可以简化两个人一起工作时合并代码的工作 。
此外,你也可以利用Git展示你的工作,并向许多开源项目贡献代码 。Git已成为许多公司筛选人才的地方,因为他们可以通过Git查看候选人的工作成果和个人项目 。
发布产品的知识
无论你是否是将新版本发布到生产环境的主要负责人,我都建议你掌握将应用发布到应用商店的方法 。
掌握使用密钥存储文件对APK进行签名的方法 。记下你的密钥库密码和别名 。你甚至可以在Gradle文件中配置它们,以简化签名过程 。
使用 Crashlytics
Crashlytics 是最强大,最轻便的应用崩溃报告解决方案 。
Crashlytics 提供了深刻且可付诸行动的见解,甚至包括应用崩溃时确切的代码行号 。你可以使用 crashlytics 来减少识别故障和修复故障的时间 。
此外,它还提供了各种分析报告,例如出现频率最高的崩溃,崩溃百分比等等 。
Crashlytics 还包括 Crashlytics Beta,该服务可以让你轻松地将预发行的 IOS 和 Android 应用分发给测试人员,以便快速获得反馈 。
原文:https://medium.com/better-programming/six-years-of-lessons-what-i-learned-as-an-android-developer-a825b55db7f0
本文为 CSDN 翻译,转载请注明来源出处 。
【End】




推荐阅读