年底咯,寫個總結(jié)

項目:

這一年,寫了3個項目,全是o2o的app,1個外包,2個自己公司項目.
技術(shù)上來說,沒有多少難點,但還是碰到過一些疑難雜癥.
本來有個小伙伴,年中的時候第一個項目做完被ko了,然后就成獨苗咯(\_/)

學(xué)習(xí)到的東西:

1.mvp
2.rxjava
3.retrofit
4.接觸了幾個設(shè)計模式:策略,單例,組合,builder,工廠,抽象工廠,適配器,裝飾.
代碼開始考慮使用什么樣的設(shè)計模式去抽取封裝.
5.一些控件開源庫(感覺沒什么意義).
6.通過ViewDragHelper對自定義控件有了基本的認(rèn)識.
7.開始注重性能優(yōu)化,代碼的規(guī)范,美觀.
8.fragment的大量使用,對fragment的一些操作和處理.
9.年中的時候開始翻看源碼,知道了很多問題的起因.
10.開始想要將碰到的問題,學(xué)習(xí)的東西記錄下來.
11.不再隨便的去使用別人的開源庫,開始考慮性能,大小,穩(wěn)定性,實用性.
12.自己折騰了幾個bug一堆,有待優(yōu)化的控件- -.
13.開始使用5.0的新控件,Recyclerview從最開始的摸索使用,到現(xiàn)在的輕車熟路.

看的書:

<Android源碼設(shè)計>
<Android開發(fā)藝術(shù)探索>

碰到的問題:

1.華為手機設(shè)置透明狀態(tài)欄(emui3.1不起作用)

公司沒有測試機,一直用自己的,而我當(dāng)時的手機是華為4a(便宜貨)
發(fā)現(xiàn)在style里面設(shè)置colorPrimary,colorPrimaryDark不起作用
想要出沉浸效果只能設(shè)置全屏模式
然后就碰到了第2個坑.

2.在全屏模式下,軟鍵盤彈出webview無法上推造成遮擋,這個bug當(dāng)初折騰了很久.

原因是在全屏模式下,軟鍵盤彈出不會觸發(fā)onSizeChanged().
怎么解決,我的建議還是不要設(shè)置windowTranslucentStatus,會有很多問題
如果實在要這樣設(shè)置
AndroidBug5497Workaround,可以搜一下這個類.
部分需要全屏的頁面,比如啟動頁,可以用代碼設(shè)置window.

3.application類保存全局變量.

這個坑碰到的比較早,是app上線后,通過統(tǒng)計發(fā)現(xiàn)的.
原因是,app在后臺時會被殺掉,內(nèi)存不足會回收一些對象,回到前臺時會重啟,保存的一些靜態(tài)變量就被初始化了.也就不存在保存一說了.
共享的數(shù)據(jù)推薦shareprface保存,或者存到磁盤上.
當(dāng)前頁面的數(shù)據(jù)完全可以用bundle保存.

4.RecyclerView的增刪改操作

由于RecyclerView自帶沒有點擊事件,所以自己就寫接口實現(xiàn),但是會有個問題,就是bindviewholder里面的position是不準(zhǔn)確的,應(yīng)該使用ViewHolder的getLayoutPosition方法來獲取item的角標(biāo).這個在源碼里面有解釋.

5 一些內(nèi)存泄漏的坑

有點多.....說個比較煩的,InputMethodManager引起的內(nèi)存泄漏,這個是系統(tǒng)級的bug.但leakcanary工具總是提示,然而這個泄漏其實沒什么影響,看了內(nèi)存監(jiān)測,回收完全正常.

還有很多坑,就是使用開源庫碰到的了...

我想說,如果你自己都沒測試好,就不要把東西傳上去<推薦>別人使用.即使傳上去了也應(yīng)該提醒一下待完善嘛.- -

6 自己曾經(jīng)的項目

最近開始迭代很久以前公司就丟在一邊的一個項目
感到絕望- -.還好,看得懂,不算很毒.就是封裝的太差了.有得忙了
想一想,以后再看自己現(xiàn)在寫的項目,是不是還是這個感覺呢.哈哈

糾結(jié)的地方

一個人開發(fā)有時候還是有心無力.
簡單的非體力代碼會浪費時間.沒時間去學(xué)習(xí)新技術(shù).
技術(shù)完全自學(xué),效率低.
對于app架構(gòu)的設(shè)計,封裝,經(jīng)驗不足.邊寫邊改.
copy過多的后遺癥,很多時候即使知道,也還是得去搜一下copy代碼.

新年的學(xué)習(xí)目標(biāo)

c艸,ndk,源碼.把2本書啃完.組件化,插件化
計劃趕不上變化,學(xué)到的東西可能會更多吧.- -

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容