创建安卓app的30个经验教训
在添加任何第三方party之前,請三思:這真的是一個成熟的項目嗎?
如果一個東西用戶看不到,就不要繪制它!
除非真的需要,否則別使用數(shù)據(jù)庫;
達到65k方法數(shù)限制來的非常快,真的,非常快!不過?multidexing?可以拯救你;
RxJava?是?AsyncTasks 以及其它雜碎的最佳替代者;
Retrofit?可能是現(xiàn)在最佳的網(wǎng)絡(luò)請求庫;
使用?Retrolambda來簡化你的代碼;
把?RxJava 和 Retrofit 以及 Retrolambda?結(jié)合起來會讓你酷炸天!
我使用?EventBus?而且它也很好,但是我并不會用太多,因為這樣代碼庫會變得凌亂;
包名按照功能來,而不是按分層來;
把所有東西都移到?application thread之外;
lint?可以幫助你優(yōu)化布局與布局樹,這樣你就能識別出那些可能已經(jīng)被移除的冗余的View;
如果你在使用gradle,使用一切可能的方式去加速它;
對builds做profile reports,以便知道什么占據(jù)了編譯時間;
使用一個?有名的?架構(gòu);
測試時比較花時間,但是一旦你找到訣竅它可以比不使用測試更快、更健壯;
使用?依賴注入?讓你的app更模塊化,從而更易于測試;
收聽?fragmented podcast?將會讓你受益;
千萬別用私人郵箱作為你安卓市場的發(fā)布者賬號;
總是使用恰當(dāng)?shù)妮斎腩愋?#xff1b;
Use?analytics?to find usage patterns and isolate bugs;
關(guān)注最新的?libraries(使用dryrun?來快速查看它們的的效果);
你的service應(yīng)該做你所需的事情,并且盡快死去;
使用?Account Manager?來提示登錄用戶名和郵箱地址;
使用CI(持續(xù)集成)來構(gòu)建和發(fā)布你的beta和產(chǎn)品apk;
不要運行自己的CI?server,維護server是費時的事情,因為磁盤空間,安全問題,更新server以防止SSL攻擊等等原因。使用circleci, travis 或者 shippable, 它們便宜,而且你也可以少擔(dān)心一些事情;
Automate your deployments to the playstore;
如果一個library很大而你只需要使用其中的一部分功能,你應(yīng)該尋找一個更小的來替代(比如依靠proguard?);
要使用多于實際需要的module。從零開始編譯一個module或者僅僅是檢查上個module是否最新所需要的時間幾乎是加載?binary?.jar/.aar依賴的4倍以上;
開始考慮用SVG來替代PNG?;
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);
監(jiān)控你的連接情況以及連接類型(wifi之下更新更多數(shù)據(jù)?);
監(jiān)控你的電源和電量(在充電的時候更新更多的數(shù)據(jù)?電量低的時候暫停更新?);
一個用戶界面就如一個笑話那樣,如果你需要解釋,那么證明它并不夠好;
Tests are great for performance: Write slow (but correct) implementation then verify optimizations don’t break anything with tests.
轉(zhuǎn)載于:https://www.cnblogs.com/krislight1105/p/5203305.html
總結(jié)
以上是生活随笔為你收集整理的创建安卓app的30个经验教训的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C 语言关键字
- 下一篇: CORBA GIOP消息格式学习