欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

App開發(fā)建議技巧

 更新時間:2018年01月24日 15:06:07   作者:我是一只香脆的大雞排  
有同學(xué)問我,對應(yīng)用開發(fā)你有沒有值得注意或小技巧的地方可以分享的。比如適配、優(yōu)化、排查錯誤什么的。雞排把自己的總結(jié)筆記整理出來了。供大家參考

開工準備

在項目業(yè)務(wù)代碼開工之前,最好把這些問題都解決掉,否則必將釀成大禍害。它們是:

  • 組件路由
  • 異步處理
  • 組件化模塊工程
  • 全局網(wǎng)絡(luò)攔截器
  • 異常統(tǒng)一處理器
  • 基礎(chǔ)視圖組件封裝
  • 日志記錄工具
  • 解決寫無數(shù)次一模一樣代碼的模板(如自定義MVP模板)

機型適配

特定的機型上出問題時,別著急。我們可以嘗試以下幾個辦法。

  • 反編譯rom,看底層改動(條件略高)
  • 聯(lián)系該廠商的工程師(如果可以的話)
  • 拷貝整個我們調(diào)用api的源碼進行單獨依賴,而放棄系統(tǒng)內(nèi)的
  • 逆向在該機型上正常的同類app,參考逆向后的代碼實現(xiàn)
  • 參考各個版本不同的Android API變化,可以從源碼入手進行對
  • 利用反射獲取該特定機型上的某個我們想知道的方法,動態(tài)調(diào)試

排查崩潰閃退日志:

1.如果app在調(diào)試的過程中出現(xiàn)閃退,此時在logcat下日志會被新起來的進程沖刷掉。這時需要把過濾器選擇為No filter 把日志級別選為 error即可查看到上一次崩潰的日志。

2.有一種情況是手機并不在我們身邊,我們也無法使用調(diào)試工具。此時可以接入一些第三方的日志記錄工具。在開發(fā)狀態(tài)下不建議使用友盟 360之類sdk,因為很有可能我們的app根本無法連接到網(wǎng)絡(luò)就崩潰了。 可以選擇把日志存到本地文件中。再又使用手機的人發(fā)回來。一般這個人是測試。

3.如果app未接入任何日志保存工具,可以在data/anr/目錄下查看到所有的ANR異常信息。但需要su權(quán)限。否則無法訪問到。

APP性能體驗優(yōu)化

1.素材有必要使用壓縮后的。推薦熊貓PNG壓縮。

2.資源能用代碼畫盡量使用代碼去畫,而不要使用靜態(tài)資源。

3.在復(fù)雜的布局上,比如很多app的首頁需要加載不同類型的item。使用了RecyclerView多類型加載,刷新數(shù)據(jù)時一定要使用單獨對item刷新api。切勿使用notifyitemchanged()方法,這里要用兩個參數(shù)的notifyItemChanged(1,"gfg")方法。

4.數(shù)據(jù)懶加載,或排隊加載

5.混淆可以使包減小含:(xml 資源 class等)

6.如果玩得不是很6,盡量不要寫靜態(tài)引用,匿名內(nèi)部類這種會導(dǎo)致內(nèi)存泄漏的東西。如果很擔(dān)心自己失誤的寫了,一定要去分析它們,把他們揪出來。

7.Activity的層級不要太深。過深會在低內(nèi)存設(shè)備上被回收棧底的。

建議和技巧

1.發(fā)現(xiàn)某處代碼可以復(fù)用性的封裝一下或者改良一下會更好的時候一定要乘早,不要拖延。(爛泥巴只會越來越爛,后面改=永遠沒可能)

2.debug編譯期間可以把用不到的abi過濾掉,會讓我們加速部署。

3.盡量保持較新的 support library依賴。因為較高的版本中修復(fù)了一些bug。

4.接入第三方包時,最好與自身模塊保持獨立,做到隨時解耦,隨便復(fù)用。

接入第三方包時,最好與自身模塊保持獨立,做到隨時解耦,隨便復(fù)用??赡芎芏嗳瞬焕斫猓号e個例子,如果需要將imgloader替換成fresco,若之前獨立出自己的方法,則會很簡單,否則得一個個替換,賊麻煩。

5.多個native庫依賴時,若發(fā)現(xiàn)某些abi上不支持,那么就需要保持最小的abi。否則會給某些機型優(yōu)先讀取它更合適的架構(gòu)。會造成災(zāi)難性的崩潰。如:ARM文件夾中含兩個so,ARMv8中只有一個。屆時手機優(yōu)先加載了ARMV8的情況下,將帶來找不到so庫的崩潰異常。

6.不要太隨性的引入第三方依賴庫,如果只是用了很小一部分功能,建議剝出來自己封裝。

7.第三方的包含私有api為暴露時,記得用反射去實現(xiàn)。當然這一切需要我們能翻他們的sdk源碼讀。也許被混淆了。這時就可以使用動態(tài)調(diào)試去跟蹤。

8.多數(shù)情況下官方的support包比第三方要好得多。只是我們不知道,或者不熟悉。

9.漸變圖、純色圖、帶一根線的圖用shape,不要靜態(tài)圖。會引發(fā)血案!

10.當無法通過搜索解決問題的時候,讀源碼是最快的解決思路。千萬不要瞎猜和嘗試隨緣寫代碼來解決問題。

11.封裝控件時注意對資源類型做校驗
如:Image.setImageResource(img);
這里的img需要做強校驗,類型檢測,防止別人用的時候不小心寫錯了。因為如果我們不主動拋出異常。靠LayoutInflater通過反射去解析xml時提示出了的錯誤日志非常難看。一般還會伴隨一大堆調(diào)用棧和閃退出現(xiàn)。

12.冷啟動優(yōu)化,不要在Application啟動時里做過多的任務(wù)&第一個Activity里也是一樣。最好把初始化的白屏Window設(shè)上一張圖片過渡一下。

相關(guān)文章

  • nasm實現(xiàn)的用vmware運行自做的linux啟動盤的引導(dǎo)代碼

    nasm實現(xiàn)的用vmware運行自做的linux啟動盤的引導(dǎo)代碼

    這個小的代碼的編寫和運行還是能讓自己對系統(tǒng)啟動有一個更深的認識,不過有個不懂的就是怎么用ISO鏡像文件啟動,怎么將引導(dǎo)代碼寫入ISO鏡像文件,依然沒有找到很好的方法解決
    2013-04-04
  • TCP/IP 中的二進制反碼求和算法

    TCP/IP 中的二進制反碼求和算法

    對于這個算法,很多書上只是說一下思路,沒有具體的實現(xiàn)。我在這里舉個例子吧
    2012-04-04
  • Eclipse 誤刪文件的恢復(fù)與代碼的恢復(fù)詳解

    Eclipse 誤刪文件的恢復(fù)與代碼的恢復(fù)詳解

    這篇文章主要介紹了Eclipse 誤刪文件的恢復(fù),代碼的恢復(fù)的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • vscode安裝git及項目開發(fā)過程

    vscode安裝git及項目開發(fā)過程

    這篇文章主要介紹了vscode安裝git及項目開發(fā)過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Kotlin與Java的區(qū)別詳解

    Kotlin與Java的區(qū)別詳解

    這篇文章介紹了Kotlin與Java的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 在VScode上使用latex編輯pdf的方法

    在VScode上使用latex編輯pdf的方法

    這篇文章主要介紹了在VScode上使用latex編輯pdf的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 一文讀懂modbus slave和modbus poll使用說明

    一文讀懂modbus slave和modbus poll使用說明

    modbus poll和modbus slave是一款實用的modbus開發(fā)和調(diào)試工具,可以非常方便的進行modbus調(diào)試,是非常有用的Modbus主機/從機模擬程序,這篇文章給大家介紹modbus slave和modbus poll使用說明,感興趣的朋友一起看看吧
    2021-04-04
  • Hbuilder連遠程接服務(wù)器上傳代碼的圖文教程

    Hbuilder連遠程接服務(wù)器上傳代碼的圖文教程

    下面小編就為大家分享一篇Hbuilder連遠程接服務(wù)器上傳代碼的圖文教程,具有很好的參考價值,一起跟隨小編過來看看吧,希望對大家有所幫助
    2017-11-11
  • 淺談軟件工程師的自我修養(yǎng)

    淺談軟件工程師的自我修養(yǎng)

    在本文中,我們將探討軟件開發(fā)過程中關(guān)于角色、重構(gòu)和質(zhì)量的問題。軟件不僅成為了一個必需品,更成為了一個競爭優(yōu)勢。因為眾多公司圍繞軟件而競爭,軟件開發(fā)相關(guān)的事宜顯得越發(fā)重要。開發(fā)軟件的人—軟件工程師正顯得越發(fā)重要。
    2021-05-05
  • 匯編優(yōu)化提示

    匯編優(yōu)化提示

    暑假瞄了一些匯編優(yōu)化的文章,感覺這篇有點意思。盡管英文水平不咋地,還是倔起牛勁翻譯了下??隙ㄓ胁缓玫牡胤剑蠹液:瓇英文原文附件給出~如果有什么錯誤還望批評指正~另外,如果admin感覺可以加精的話就麻煩下了
    2012-07-07

最新評論