新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Android開發(fā)項(xiàng)目經(jīng)驗(yàn)
1.是不是應(yīng)該把數(shù)據(jù)刷新操作放在onResume()中?

- @Override
- public void onResume() {
- super.onResume();
- refresh();
- }
- public void refresh(){
- initData();
- }
| 這樣不合適,在什么時(shí)候刷新是根據(jù)需要來(lái)的,并不是每次onResume()的時(shí)候都需要刷新。 假如用戶關(guān)閉了屏幕后再打開屏幕,頁(yè)面會(huì)刷新,這樣沒有必要,也許幾秒中前剛刷新過(guò)。 網(wǎng)易新聞客戶端就不是這樣的。 2.關(guān)于activity,fragment與彈窗 如果一個(gè)activity中有一個(gè)ViewPager,ViewPager中加載了兩個(gè)fragment,這時(shí)要特別注意的是,兩個(gè)fragment是同事加載的,雖然只顯示了一個(gè)fragment的界面,但是另外一個(gè)也是加載了的,所以如果當(dāng)前顯示的fragment沒有彈窗,但是另一個(gè)fragment彈窗了也會(huì)顯示到當(dāng)前activity中。 3.copy布局文件和復(fù)用布局文件的優(yōu)缺點(diǎn) 重用優(yōu)點(diǎn):減少布局文件個(gè)數(shù),如果幾個(gè)界面的布局問(wèn)個(gè)始終一致,那么可以使用 重用缺點(diǎn):如果其中一個(gè)布局文件有所改動(dòng),那么其他頁(yè)面將不能再使用,因?yàn)椴季治募袥]法使用 if else 。 copy優(yōu)點(diǎn):一個(gè)頁(yè)面對(duì)應(yīng)一個(gè)xml文件,完全解耦 copy缺點(diǎn):會(huì)大量出現(xiàn)重復(fù)的代碼 總結(jié):需求隨時(shí)都可能變動(dòng),還是把布局解耦比較好 4.優(yōu)化代碼的思路 哪段代碼使用的頻率越高就應(yīng)該先優(yōu)化哪段代碼,這樣會(huì)事半功倍! 5.千萬(wàn)要保護(hù)好自己的代碼 昨天跟我說(shuō)某某模塊的接口改了,要重新做,我做了。 今天來(lái)的時(shí)候又跟我說(shuō)暫時(shí)不改了,還是用之前的代碼。 天啦,幸虧我沒有刪掉之前的代碼,不然死的心都有了。 so,程序猿們,保護(hù)好你自己的代碼。 6.模板方法沒有寫好會(huì)很悲劇 模板方法寫好了,比如BaseAcitivity,然后開始寫它的子類,忽然調(diào)試的時(shí)候發(fā)現(xiàn)模板的方法有問(wèn)題,比如說(shuō)要調(diào)整方法調(diào)用的順序或者改變方法調(diào)用的位置,這下好了,你的N個(gè)子類都是按照之前的模板方法去寫的,so 你就一個(gè)一個(gè)去修改子類吧。 另外,要千萬(wàn)注意別人修改了公用的模板方法,要及時(shí)pull和push代碼,不然自己寫的很多代碼都白費(fèi)了。 7.不要頻繁重復(fù)的調(diào)用數(shù)據(jù) 比如你要獲取10-個(gè)新聞列表數(shù)據(jù),而且你要同一時(shí)間去獲取,那就得創(chuàng)建10次Http鏈接,這很費(fèi)時(shí)的。***的方法是讓服務(wù)器把10個(gè)新聞列表數(shù)據(jù)寫在一個(gè)xml文件中,這樣會(huì)顯著的節(jié)約時(shí)間。wo so,當(dāng)進(jìn)行遠(yuǎn)程調(diào)用時(shí),從數(shù)據(jù)提供者反復(fù)調(diào)用取得數(shù)據(jù)會(huì)嚴(yán)重影響性能,比如數(shù)據(jù)庫(kù)調(diào)用、Web服務(wù)調(diào)用或者其他編解碼調(diào)用。這種情況下可以使用Facade模式一次獲得所有所需的數(shù)據(jù),盡可能減小連接成本和在網(wǎng)絡(luò)上傳輸數(shù)據(jù)的成本。 8.類中的成員變量前加"m" 本類的所有成員變量前加"m",好處是:敲"m"就能提示本類的一些成員變量 9.一定要有自己的技術(shù)博客和帖子 別人的博客和帖子是別人的,要有自己的,不斷補(bǔ)充,不斷完善,以后再查看的時(shí)候才方便。 另外 ,強(qiáng)迫自己寫技術(shù)博客和帖子就是強(qiáng)迫自己總結(jié),加深技術(shù)知識(shí)的印象。 10.一個(gè)類應(yīng)該純粹,一個(gè)類就只應(yīng)該做一件事情 比如寫一個(gè)瀑布流類(自定義View),干了很多事情,布局了瀑布流模型,設(shè)置了刷新功能。 這不應(yīng)該在一個(gè)類中出現(xiàn),瀑布流就是瀑布流,刷新是另外一回事,獲取數(shù)據(jù)又是另外一回事!不要混在一起,寫在一個(gè)類中! 一個(gè)類應(yīng)該是純粹的,盡量的簡(jiǎn)單,就是干一件事情。完成一個(gè)功能我們可以把多個(gè)類組合在一起,或者引用等等方法。 好處在于拆卸方便,當(dāng)不需要什么功能的時(shí)候能快速明晰的剝離掉。如果什么代碼都混在一塊那是灰常難以剝離的。 |
網(wǎng)站題目:Android開發(fā)項(xiàng)目經(jīng)驗(yàn)
當(dāng)前網(wǎng)址:http://m.fisionsoft.com.cn/article/codpecp.html


咨詢
建站咨詢
