- 如果你使用
Gradle,那么尽可能去加速编译。 - 开启编译报告,看看编译过程中的耗时统计。
- 在架构上尽量采用大众化的。
- 测试是虽然费事费时,但是相比不要测试而言,你解决Bug的时候会更快,代码也更具健壮性。
- 使用依赖注入能让你的app更模块化更好测试。
- 订阅这个网站的内容对你大有裨益。
- 坚决不要使用个人邮箱作为应用商店平台的账户,当然也包括一些第三方服务提供商。
- 在使用
EditText时,使用合适的输入类型。 - 使用
Android Studio -> Analyze去分析和定位bug。 - 经常关注一些比较新的技术和库。例如dryrun这个库可以帮你减少构建远程仓库项目的时间。PS:我自己就在用,简直不能更爽。
Service只做它应该做的,并且在需要它销毁的时候尽快能销毁。- 使用AccountManager针对用户名和邮箱啥的提供建议。
- 使用
CI (Continuous Integration)来构建和描述自己的beta版以及正式版apk。 - 不要运行自己的
CI服务器,维护服务器很耗时,因为将有磁盘空间/安全问题/更新服务器以防止SSL攻击等等各种柴犬二哈问题在等着你。使用circleci,travis或shippable,它们便宜并且让你少操心。 - 发布app的时候可以使用自动部署。
- 你需要导入某个库,但是这个库特别大,而你只需要其中一小部分功能,那么你应该去找个更小的,更符合自己的库(proguard可以压缩资源)。
- 不要依赖导入过多的
modules除非你真的需要。因为过多的modules会导致构建变慢(CI就是个例子),这比起直接使用二进制的.jar/.aar来说要慢4倍左右。 - 可以考虑将
.PNG替换成.SVG了。 - library中抽象类能比较便捷的控制和替换使用场景(例如:
AppLogger.d(“message”)中包括了Log.d(TAG, message)并且还能优化成Timber.d(message))。 - 监控网络连接和连接的类型你会发现->
wifi连接下可能刷新数据更频繁。 - 监控电量和电池你会发现->充电时候数据可能更新更频繁,低电量的时候数据更新很慢。
- 用户交互界面就是个笑话,除非你能讲解出来,否则它绝对不够好。
- 测试非常适合于性能上的调优:慢慢地(但正确)写一些实现,然后验证优化并且也不会破坏测试。
这里我就分享一份资料,希望可以帮助到大家提升进阶。
内容包含:Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。
如果你有需要的话,可以点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式
喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~