导航菜单

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

上图说明了设计应用程序后所有模块应该如何相互作用。尽管这完全取决于您的组织,但您也可能有机会为您的应用程序选择合适的架构。

但是,强烈建议您选择适合您需求的特定架构。

对于哪种建筑是最好的,也有不同的看法。

根据开发者指南:

“没有办法为每种情况编写最好的应用程序。话虽如此,这种推荐的体系结构是大多数情况和工作流的良好起点。”

充分利用安卓工作室

安卓工作室提供了为各种安卓设备构建应用程序的最快工具。

不幸的是,我们只探索了集成开发环境的一小部分。安卓工作室有许多工具。以下是我们在日常发展中应该使用的工具。

可视化布局编辑器

在此布局编辑器中,我们可以将用户界面元素拖到可视化设计编辑器中,以快速构建布局,而无需手动编写布局XML。

该设计编辑器可以预览各种安卓设备和版本上的布局,您可以动态调整布局的大小,以确保在各种屏幕尺寸上正常运行。

当您使用此布局编辑器构建新布局时,您可以特别感受到它的优势。

APK分析器

我们可以使用APK分析器来减少调试应用程序中的DEX文件和资源问题所花费的时间,并减小APK的大小。此外,您可以在命令行上使用APK分析仪。

APK分析器的功能包括:

查看APK文件的绝对和相对大小,例如DEX和安卓资源文件。

理解DEX文件的组成。

并排比较两个apk。

Fast Emulator

如果您需要处理各种版本的安卓系统,并且还想在不同的应用编程接口级别测试您的应用程序,这个模拟器甚至比一个真实的设备还要好。

这个模拟器提供安卓设备的所有功能。您可以模拟电话和短信,指定设备的位置,模拟不同的网络速度,模拟旋转和其他硬件传感器,访问谷歌应用商店,等等。

与在物理设备上测试相比,在某种程度上,在模拟器中测试应用程序更快、更方便。

Profilers

安卓探查器工具提供实时数据,帮助您了解应用程序对中央处理器、内存、网络和电池资源的使用。

虽然我们有各种分析仪,如中央处理器分析仪、内存分析仪、网络分析仪和能耗分析仪。

但是安卓侧写程序与安卓5.0(应用编程接口21级)和更高版本兼容。您可以使用安卓工作室中的高级分析器来监控应用程序会话对CPU资源和内存的消耗。

内存分析器可以帮助我们使用泄漏加那利调试内存泄漏。

配置生成更改

您可以使用生成更改来创建应用程序的不同版本,以及正确管理依赖关系和签名配置。

大多数组织都有测试和生产环境。如果您想为每个环境构建不同的应用程序,可以使用不同的构建类型来指定不同的基本URl。

您还可以根据应用编程接口级别或其他设备更改为不同的设备构建不同版本的应用程序。

使用Lint Checks来改进代码

这个Lint工具可以帮助您找到可能影响应用程序可靠性和效率的结构不良的代码。

Lint会告诉您布局中是否有占用大量空间的命名空间。

它还告诉您其他结构性问题,例如使用不推荐使用的元素或目标应用编程接口版本不支持的应用编程接口调用。它还建议您使用所有库的最新版本。

使用新的稀疏射线(.)来获得更好的性能。稀疏射线将整数映射到对象。不同于普通的对象数组,下标之间可能有间隙。

这比使用哈希映射将整数映射到对象更有效。

Test Application

Test Driven Development(TDD)是一种确保测试每一行新代码的方法。这样,在编写要实现的代码之前,您需要为添加的内容编写测试。

由于时间和资源有限,大多数初创企业可能不会采用测试驱动的开发环境。但它已被许多公司广泛接受。

安卓有三种类型的测试。

1。单元测试

单元测试用于测试方法和小模块。这些测试可以在没有模拟器或真实设备的情况下运行,因为它们可以在JVM上运行。

JUnit和Robolectric是流行的安卓单元测试框架,可以在JVM上快速运行测试。

2。设备测试

设备测试依赖于安卓框架。由于这种依赖性,您需要模拟器或物理设备来运行该测试。我们使用Mockito来模拟设备测试中使用的对象。

3。用户界面测试

我们可以使用用户界面来测试活动是否正确启动,或者视图是否正确存在。Espresso和UIautomate是用户界面测试中广泛使用的工具。

以下是应用当前包含的测试的软件包结构。

测试:单元测试保存在此文件夹中。这些测试在JVM上运行,不需要安卓设备或模拟器。

安卓测试:所有设备和用户界面测试都保存在这个文件夹中。这些测试需要运行安卓物理设备或模拟器。

Use version control

Git和BitBucket是最常用的版本控制系统。

版本控制可以跟踪文件更改,记录已完成的操作,并根据需要还原特定版本。

但是当你和一个团队一起工作时,版本控制有利于协作,所有的更改都可以被合并到源代码中。如果没有版本控制,您需要备份代码并将其存储在安全的地方。

使用Git,代码是安全的。您可以跟踪一个版本的更改并维护多个代码库。当两个人一起工作时,它简化了代码的合并。

此外,您还可以使用Git来演示您的工作,并为许多开源项目贡献代码。Git已经成为许多公司筛选人才的地方,因为他们可以通过Git查看候选人的工作成就和个人项目。

发布产品知识

无论您是否是将新版本发布到生产环境的主要负责人,我建议您掌握将应用程序发布到应用程序商店的方法。

掌握用密钥存储文件签署APK的方法。写下您的密钥库密码和别名。您甚至可以在Gradle文件中配置它们,以简化签名过程。

使用Crashlytics

Crashlytics是最强大和轻量级的应用程序崩溃报告解决方案。

Crashlytics提供了深刻且可操作的见解,甚至包括应用程序崩溃时的确切代码行号。您可以使用防撞装置来减少识别和修复故障的时间。

此外,它还提供各种分析报告,例如最频繁的崩溃、崩溃百分比等。

Crashlytics还包括Crashlytics Beta,它允许您轻松地向测试人员分发预发布的iOS和安卓应用程序,以获得快速反馈。

original: . com/better-programming/six-years-lessons-what-I-leased-as-an-Android-developer-a 825 b 55 db 7 f 0

本文为CSDN译文,请注明转载来源。回到搜狐看更多