创建安卓应用的 30 个经验教训

这个世界上有两种人-从经验教训中学习的人以及听从别人建议的人。这里是我一路走来学到的一些东西,分享给大家:

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.

?

时间: 2024-12-18 03:56:51

创建安卓应用的 30 个经验教训的相关文章

老程序员总结的16条经验教训

1.从小事做起,然后再扩展 无论是创建一个新的系统,还是添加功能到现有的系统中,我总是从一个简单到几乎没有任何所需功能的版本启动,然后再一步一步地解决问题,直到满意为止.我从来没有妄想过能够一步登天.相反,我一边开发一边学习,同时新掌握的信息还可以用于解决方案中. 我很喜欢John Gall的这句话:"复杂系统总是源于简单系统的演化." 2.一次只改变一件事 当我们在开发时,碰到测试失败和功能无效的情况,如果你一次只研究一个问题,那将会更容易找到问题的关键.换言之,就是使用短迭代.必须

《经验分享收集》 一:10+年程序员总结的20+条经验教训

原文地址:http://www.codeceo.com/article/10-years-20-tips-programmer.html 一:10+年程序员总结的20+条经验教训 开发 1.从小事做起,然后再扩展 无论是创建一个新的系统,还是添加功能到现有的系统中,我总是从一个简单到几乎没有任何所需功能的版本启动,然后再一步一步地解决问题,直到满意为止.我从来没有妄想过能够一步登天.相反,我一边开发一边学习,同时新掌握的信息还可以用于解决方案中. 我很喜欢John Gall的这句话:“复杂系统总

一个企业IT部署云端环境的经验教训

随着云计算2.0时代的到来,以及"互联网+"行动计划的深入发展,传统企业通过云端环境降低运营成本.共享数据资源.实现合作共赢,已成为一种不可阻挡的生态化发展趋势.然而,云计算时代全新的IT环境,对传统的IT基础架构和IT运营环境产生了巨大的冲击和颠覆,传统企业如何基于自身的资源环境搭建基于云计算基础之上的IT环境已成为众多企业技术的关注焦点. 虽然,云计算已经进入了高速发展时期,红云.青云.蓝汛云等众多优质的云服务及云解决方案提供商为企业技术搭建IT架构.部署云端环境提供了更多的选择,

前辈经验教训1

我自己呢,先是在国营的研究所混了4年,后来到一家公司干了6年,2002年出来自己做公司,现在也就是混了一个温饱吧,算是有房有车,有点积蓄,但是不多,还有一个可爱的女儿.回首这10来年,有一些经验和教训. 1.要有一个职业生涯的规划.首先需要定位自己做什么合适,是做买卖还是做技术,一条路走到黑:当然,做了技术,后来改行也行: 2.做技术,就是要做精做深,成为这个行业的这个技术的专家:最好就是去国内的大公司,才能全面学到东西,能够给你培训的机会:如果大公司进不去,先到小公司练技术,找机会再到大公司去

一些前辈总结的职场经验教训

因为自己刚毕业进入社会,很多东西不懂,为人处世方面有所欠缺,对前途也比较迷茫,于是在网上搜了一些前辈们总结的经验教训,以便让自己能够在以后的职业生涯中结合自己的实际情况少走一些弯路,希望对我对大家都有用. 1.工作的前三年,别那么在乎待遇,甚至在不影响生活的情况下,后面都可以一两年之内不在乎这些,关键是这几年咱要有过硬的本事,要不断学习. 2.要加强自己做人的基本素养,对领导要尊敬,处理好同事之间的关系,即使自己的领导真的做人有问题,也没必要和他公开吵架,真的没必要,就重新找个公司,或者等机会取

辞职做独立游戏可能成功吗? -- 付费榜前五经验教训

刚刚有人问我类似问题,就随便写了点,算是对自己做魔窟游戏的一些经验教训总结,以及记录一下一路走来的心路历程吧. 辞职做独立游戏可能成功吗? 这个其实很难回答,因为如何定义成功本身,这就是个难题.说下我自己的经历,一年前刚出来自己做游戏的时候,好几个游戏都半途而废,等到最后一个游戏终于制作完成并上线后,那一刻对我来说就是成功的:“终于全世界的人都能看到自己的独立作品了!第一天就有几十个人下载了,太棒了!”. 接下来的几天每天都盯着手机看下载数据,每天看着下载量在不停的涨,持续好多天每天都魂不守舍,

创建安卓模拟器的两种方式及常用Android命令介绍

创建安卓模拟器有以下两种方式: 1>通过图形界面创建,在Eclipse中单击Windows->Android Virtual Device Manager启动图形界面窗口 2>如果用的不是Eclipse,则可以切换到~/tools/文件夹,在终端执行"android avd",单击Create 按钮,则可以创建一个新的模拟器. 2.使用镜像功能加快模拟器的启动速度. 也许你在启动Android模拟器重新启动的速度很慢,因此新增了一个保存和恢复模拟器状态的镜像功能,用以

做产品的几点经验教训

期待已久的<创业维艰>(The Hard Thing About Hard Things)昨天终于送到了,之所以说期待已久,是因为这是一本关于本·霍洛维茨失败经历的书——尤其是在这个充斥着鸡汤的时代,相比于「事非经过不知难」的经验教训,人们还是更愿意讲一些他们的英勇事迹. 前两天逛拉勾,看到一家企业要求随简历附上「你最成功的决策」,我当时就懵住了,一来「成功」和「决策」充满了某种宏大感,二来或许是太过微不足道,怎么也记不起那些「灵光乍现」的瞬间,反倒是一些教训,一直铭记在心: 深入思考 收获感

05.收尾过程组表格-经验教训

经验教训 项目名称 准备日期 项目绩效分析 做得好的地方 有待改进的方面 需求定义和管理 范围定义和管理 进度制定和控制 成本估算和控制 质量规划和控制 人力资源可获得性.团队建设和绩效 沟通管理 干系人管理 报告 风险管理 采购规划和管理 过程改进信息 特殊产品信息 其他 风险和问题 风险或问题描述 应对 说明 质量缺陷 缺陷描述 解决方案 说明 卖方管理 卖方管理 问题 解决方案 说明 其他 杰出绩效领域 待改进领域 原文地址:https://www.cnblogs.com/aixiaoxi