1. 在添加任何第三方party之前,请三思:这真的是一个成熟的项目吗?

  2. 如果一个东西用户看不到,就不要绘制它!

  3. 除非真的需要,否则别使用数据库;

  4. 达到65k方法数限制来的非常快,真的,非常快!不过 multidexing 可以拯救你;

  5. RxJava 是 AsyncTasks 以及其它杂碎的最佳替代者;

  6. Retrofit 可能是现在最佳的网络请求库;

  7. 使用 Retrolambda来简化你的代码;

  8. 把 RxJava 和 Retrofit 以及 Retrolambda 结合起来会让你酷炸天!

  9. 我使用 EventBus 而且它也很好,但是我并不会用太多,因为这样代码库会变得凌乱;

  10. 包名按照功能来,而不是按分层来;

  11. 把所有东西都移到 application thread之外;

  12. lint 可以帮助你优化布局与布局树,这样你就能识别出那些可能已经被移除的冗余的View;

  13. 如果你在使用gradle,使用一切可能的方式去加速它;

  14. 对builds做profile reports,以便知道什么占据了编译时间;

  15. 使用一个 有名的 架构;

  16. 测试时比较花时间,但是一旦你找到诀窍它可以比不使用测试更快、更健壮;

  17. 使用 依赖注入 让你的app更模块化,从而更易于测试;

  18. 收听 fragmented podcast 将会让你受益;

  19. 千万别用私人邮箱作为你安卓市场的发布者账号;

  20. 总是使用恰当的输入类型;

  21. Use analytics to find usage patterns and isolate bugs;

  22. 关注最新的 libraries(使用dryrun 来快速查看它们的的效果);

  23. 你的service应该做你所需的事情,并且尽快死去;

  24. 使用 Account Manager 来提示登录用户名和邮箱地址;

  25. 使用CI(持续集成)来构建和发布你的beta和产品apk;

  26. 不要运行自己的CI server,维护server是费时的事情,因为磁盘空间,安全问题,更新server以防止SSL攻击等等原因。使用circleci, travis 或者 shippable, 它们便宜,而且你也可以少担心一些事情;

  27. Automate your deployments to the playstore;

  28. 如果一个library很大而你只需要使用其中的一部分功能,你应该寻找一个更小的来替代(比如依靠proguard );

  29. 要使用多于实际需要的module。从零开始编译一个module或者仅仅是检查上个module是否最新所需要的时间几乎是加载 binary .jar/.aar依赖的4倍以上;

  30. 开始考虑用SVG来替代PNG ;

  31. Make library abstraction classes, it’ll be way easier to switch to a new library if you only need to switch in one place (e.g.AppLogger.d(“message”) can contain Log.d(TAG, message) and later realise that Timber.d(message) is a better option);

  32. 监控你的连接情况以及连接类型(wifi之下更新更多数据?);

  33. 监控你的电源和电量(在充电的时候更新更多的数据?电量低的时候暂停更新?);

  34. 一个用户界面就如一个笑话那样,如果你需要解释,那么证明它并不够好;

  35. Tests are great for performance: Write slow (but correct) implementation then verify optimizations don’t break anything with tests.

转载于:https://www.cnblogs.com/krislight1105/p/5203305.html

创建安卓app的30个经验教训相关推荐

  1. 在亲生经历被非法APP诈骗中总结经验教训--网络安全

    在亲生经历被非法APP诈骗中总结经验教训--网络安全 事情是发生在2021年8月份,我通过校园快递柜的一个推文,发现了这个叫"亿家光伏"的APP. 推文大概是这样的: 由于是校园快 ...

  2. MINIX 30年经验教训

    作者: Andrew S. Tanenbaum,阿姆斯特丹自由大学科学学院计算机科学系名誉教授. 译者:孙薇 责编:钱曙光 本文为<程序员>文章,未经允许不得转载,更多精彩文章请订阅201 ...

  3. 硬核软件开发者 30 多年的 11 条经验教训

    从非专业编程到专业的开发者,从 BASIC.C++ 到 Rust,在本篇文章中,已在软件开发行业摸爬滚打 30 年的老兵将带来自己最为深刻的 11 个经验教训. 作者 | Dean Roddey 译者 ...

  4. 使用Flutter完成10个商业项目后的经验教训,2021大厂安卓面试集合

    自从我们交付了第一个应用程序并从客户那里收集到了五星级好评,我们认为,我们应该开始更加积极地向客户推荐Flutter.从2019年5月开始,我们决定Flutter将是我们移动技术的第一选择.同时,我们 ...

  5. 一款iPhone App推广中得来的18条经验教训

    2019独角兽企业重金招聘Python工程师标准>>> 一款软件在App Store上线16天,收入113.28美金,绝对是反面教材了,不过因为这样,反而可以放开手脚做一些试验.和大 ...

  6. 第一个安卓app应用的开发--环境配置和第一项目创建

    现在,手机可以说很普遍了,大街上,地铁上随处都可以看到低头刷手机的人.如果他们用的是安卓手机的话,那他们现在用的就是安卓app应用. 那要开发一个app需要什么呢? 配置 环境 给你的电脑安装Andr ...

  7. 面试 技术 教训_我在30天内进行60多次技术面试的经验教训

    面试 技术 教训 In this article, I'll share my motivation for doing 60+ technical interviews in 30 days. Mo ...

  8. 一款iPhone App推广中得来的经验教训

    作者  fwish 原帖地址   http://www.cocoachina.com/bbs/read.php?tid-7017.html 这款软件在App Store上线16天,收入113.28美金 ...

  9. 30款APP源码打包 Java Android安卓App源码 30款打包下载

    [30款APP源码打包 Java Android安卓App源码 30款打包下载](访问密码: 168168)(https://474b.com/file/29013429-461457489)

最新文章

  1. 圈子 | 精彩预告:P2P金融那些事儿
  2. [JavaWeb-JavaScript]JavaScript_Global全局对象
  3. 互联网晚报 | 3月27日 星期日 | 东航已正式启动理赔工作;第二部黑匣子数据存储单元外观较为完好,其他部分损毁严重...
  4. matlab 图像语义分割,笔记︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)...
  5. leetcode - 39. 组合总和
  6. 7.js模式-装饰者模式
  7. 如何对AWS RDS SQL Server数据库进行分类
  8. 《App后台开发运维和架构实践》前言
  9. html调查问卷页面,html+js 问卷调查页面的展示以及form提交
  10. logstash全量导入es
  11. EOS区块链和以太坊区块链那个更好?
  12. Win7/windows8/win 10系统下Photoshop不能直接拖拽打开图片的解决办法
  13. 1:2000比例尺测图
  14. Multinomial Logit Model (MNL) 模型R语言nnet包multinom函数实现实例
  15. ASP.NET Image Manipulation Examples: Adding, Zooming, Enlarging
  16. 美国软件和菜头——《软件随想录》读后感
  17. qq文件怎么传到百度云_福利|还在用 QQ、微信、百度云传文件?你应该试试这个跨平台传输工具...
  18. HTML基础的回顾复习(基本标签,简单的一个登陆验证)
  19. 从单式记账到复式记账
  20. 深度学习-条件概率和似然估计

热门文章

  1. Wordpress安装简要说明
  2. SpringCloud(第 016 篇)电影微服务,定制Feign,一个Feign功能禁用Hystrix,另一个Feign功能启用Hystrix...
  3. oracle 学习——巨人的肩膀
  4. Java---取得操作系统默认的代理
  5. SVN 常用命令笔记
  6. JMeter性能测试入门
  7. cordova 创建Android 工程(零起点)
  8. android系统内置HttpClient库(WebView+ Http(s)URLConnection(ok-http)+ HttpClient(apache-http))
  9. HandlerThread:带消息循环(Looper)的线程
  10. OpenCV实现最大最小距离聚类算法