Android 开发过程中总计的一些经验教z

本文属于收藏需要,原文见末尾链接。 在使用第三方类库之前,请再次确认您确实需要使用该类库。 如果用户看不到这个元素,请不要绘制它。 除非必要,请不要使用数据库。简单的数据可以使用 SharedPreference 保存。 现在的 App 很容易就达到了 65K 的函数限制, 可以使用 multidexing 来解决该问题RxJava 是 AsyncTasks 的最佳替代方案,并且还有其他很多优点。 Retrofit 是至今最好的网络请求库。 使用 Retrolambda 来减少你敲键盘的次数。代码看起来更加简洁。 把 RxJava 同 Retrofit 和 Retrolambda 一起使用,您会发现生活是如此美好。 我会使用 EventBus ,并且 EventBus 也很有用。但是并不是到处都用, 用的多了代码看起来乱透了。 用功能来组织代码而不是层级。 尽可能的把所有操作都放到 application thread 之外的线程中去。 使用 Lint 来分析您的布局文件,可以提高布局性能,删除不必要的View。 如果你使用 Gradle ,则有很多技巧可以提高 Gradle 的性能分析你的 Build 过程,看看那些阶段消耗的时间比较多。 使用通用的架构。 编写测试代码和执行测试都需要时间,但是测试可以确保你的代码更加健壮,所以该投入是值得的。 使用依赖注入可以把 App 变得更加模块化,也更加容易测试。 闲暇时间听听 fragmented podcast 对你可以有很多帮助。 从来不要用私人Email 作为你的开发者发布账号。 一定要使用恰当的输入类型。 使用分析统计来了解用户使用模式和查找 bug。 了解最新的第三方库 使用 dryrun 可以快速的体验这些类库。 你应用的 services 应用只做其应该做的事情,并且尽早结束自己来释放资源。 使用 Account Manager 来显示建议用户登录的用户名和 Email 地址。 使用 CI (Continuous Integration) 来持续发布您的产品。 不要搭建自己的 CI 服务器,这是一个很耗费时间的过程。使用 circleci, travis 或者 shippable ,他们价格便宜并且自己不用担心 CI 服务器的问题了。 自动部署你的应用到 Google Play。 如果一个类库包含了很多功能,但是你只使用了其中的某一个功能,则可以使用类似 proguard 的工具来删除没用的代码。 不要使用过多的模块(modules ),Gradle 编译的时候,每次都要检查和编译每个模块,这些操作是需要时间的。编译这些模块比直接使用 .jar/.aar 要慢 4倍以上。 开始尝试使用 svg 来替代 png 图片。 使用库封装类接口。这样当你需要切换到另外一个库的时候, 只需要修改该类即可。例如 AppLogger.d(“message”) 类使用了 Log.d(TAG, message) 来显示 log, 如果有一天你向切换到 Timber.d(message) 库,则只需要修改 AppLogger 类即可。 监测设备的网络连接类型。如果用户使用的是 Wifi 则可以做更多的网络操作。Wifi 一般是免费的,并且速度较快。 监测设备电量和充电状态。如果正在充电,则可以尽可能多的更新数据, 如果设备快没电了,则可以减少数据更新的频度。 用户界面就像讲笑话一样,如果你还需要解释它,则说明该界面设计的不够好。 Tests are great for performance: Write slow (but correct) implementation then verify optimizations don’t break anything with tests.

Read more: http://blog.chengyunfeng.com/?p=868#ixzz433tCrqxr
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章