這篇文章將為大家詳細(xì)講解有關(guān)java中內(nèi)存優(yōu)化的方法有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
郊區(qū)網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,郊區(qū)網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為郊區(qū)上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的郊區(qū)做網(wǎng)站的公司定做!
1、不必要的自動裝箱。
自動裝箱是將基礎(chǔ)數(shù)據(jù)類型轉(zhuǎn)換為相應(yīng)的復(fù)雜類型,在HashMap的追加刪除調(diào)查中充滿了自動裝箱問題,因此盡量避免HashMap代替SparseArray和ArrrayMap等問題。
2、內(nèi)存復(fù)用。
資源復(fù)用:通用字符串、顏色、布局。
視圖復(fù)用:類似于RecyclerView的優(yōu)化再利用。
目標(biāo)池:創(chuàng)建目標(biāo)池,無需重復(fù)創(chuàng)建目標(biāo),類似于線程池,messae享受元模式。
Bitmap對象復(fù)用:使用inBitmap屬性,Bitmap解碼器可以通知Bitmap解碼器使用已經(jīng)存在的存儲區(qū)域,新解碼的bitmap可以嘗試使用以前bitmap在heap中占有的存儲區(qū)域。
3、App內(nèi)存過低時,可以自主釋放內(nèi)存。
在App退出后臺的內(nèi)存緊張被Kill丟失的情況下,選擇重寫Application中onTrimmemory/onLowMemory方法,釋放圖像緩存、靜態(tài)緩存。
4、優(yōu)化其他場景。
item在無法回收的情況下釋放了圖像的引用。
使用字符串連接時,請盡量使用StringBuilder、StringBuffer(內(nèi)存抖動)
定制view減少onDraw的時間和執(zhí)行次數(shù)。
盡量使用靜態(tài)內(nèi)部類。
盡量使用基礎(chǔ)數(shù)據(jù)類型。
適當(dāng)時使用軟/弱引用。
關(guān)于“java中內(nèi)存優(yōu)化的方法有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。