Android開發項目經驗
1.是否是應該把數據刷新操做放在onResume()中?數據庫
- @Override
- public void onResume() {
- super.onResume();
- refresh();
- }
-
-
- public void refresh(){
- initData();
- }
這樣不合適,在何時刷新是根據須要來的,並非每次onResume()的時候都須要刷新。
假如用戶關閉了屏幕後再打開屏幕,頁面會刷新,這樣沒有必要,也許幾秒中前剛刷新過。
網易新聞客戶端就不是這樣的。
2.關於activity,fragment與彈窗
若是一個activity中有一個ViewPager,ViewPager中加載了兩個fragment,這時要特別注意的是,兩個fragment是同事加載的,雖然只顯示了一個fragment的界面,可是另一個也是加載了的,因此若是當前顯示的fragment沒有彈窗,可是另外一個fragment彈窗了也會顯示到當前activity中。
3.copy佈局文件和複用佈局文件的優缺點
重用優勢:減小布局文件個數,若是幾個界面的佈局問個始終一致,那麼可使用
重用缺點:若是其中一個佈局文件有所改動,那麼其餘頁面將不能再使用,由於佈局文件中無法使用 if else 。
copy優勢:一個頁面對應一個xml文件,徹底解耦
copy缺點:會大量出現重複的代碼
總結:需求隨時均可能變更,仍是把佈局解耦比較好
4.優化代碼的思路
哪段代碼使用的頻率越高就應該先優化哪段代碼,這樣會事半功倍!
5.千萬要保護好本身的代碼
昨天跟我說某某模塊的接口改了,要從新作,我作了。
今天來的時候又跟我說暫時不改了,仍是用以前的代碼。
天啦,幸好我沒有刪掉以前的代碼,否則死的心都有了。
so,程序猿們,保護好你本身的代碼。
6.模板方法沒有寫好會很悲劇
模板方法寫好了,好比BaseAcitivity,而後開始寫它的子類,突然調試的時候發現模板的方法有問題,好比說要調整方法調用的順序或者改變方法調用的位置,這下好了,你的N個子類都是按照以前的模板方法去寫的,so 你就一個一個去修改子類吧。
另外,要千萬注意別人修改了公用的模板方法,要及時pull和push代碼,否則本身寫的不少代碼都白費了。
7.不要頻繁重複的調用數據
好比你要獲取10-個新聞列表數據,並且你要同一時間去獲取,那就得建立10次Http連接,這很費時的。最好的方法是讓服務器把10個新聞列表數據寫在一個xml文件中,這樣會顯著的節約時間。wo
so,當進行遠程調用時,從數據提供者反覆調用取得數據會嚴重影響性能,好比數據庫調用、Web服務調用或者其餘編解碼調用。這種狀況下可使用Facade模式一次得到全部所需的數據,儘量減少鏈接成本和在網絡上傳輸數據的成本。
8.類中的成員變量前加"m"
本類的全部成員變量前加"m",好處是:敲"m"就能提示本類的一些成員變量
9.必定要有本身的技術博客和帖子
別人的博客和帖子是別人的,要有本身的,不斷補充,不斷完善,之後再查看的時候才方便。
另外 ,強迫本身寫技術博客和帖子就是強迫本身總結,加深技術知識的印象。
10.一個類應該純粹,一個類就只應該作一件事情
好比寫一個瀑布流類(自定義View),幹了不少事情,佈局了瀑布流模型,設置了刷新功能。
這不該該在一個類中出現,瀑布流就是瀑布流,刷新是另一回事,獲取數據又是另一回事!不要混在一塊兒,寫在一個類中!
一個類應該是純粹的,儘可能的簡單,就是幹一件事情。完成一個功能咱們能夠把多個類組合在一塊兒,或者引用等等方法。
好處在於拆卸方便,當不須要什麼功能的時候能快速明晰的剝離掉。若是什麼代碼都混在一塊那是灰常難以剝離的。