第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

APP性能優(yōu)化之內(nèi)存優(yōu)化

難度中級(jí)
時(shí)長(zhǎng) 1小時(shí)15分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.70
27人評(píng)價(jià) 查看評(píng)價(jià)
9.9 內(nèi)容實(shí)用
9.6 簡(jiǎn)潔易懂
9.6 邏輯清晰
  • shell命令
    查看全部
  • memory
    查看全部
  • 內(nèi)存優(yōu)化的意義: 避免oom 可能存在流暢性,響應(yīng)速度等方面的問(wèn)題
    查看全部
  • 避免內(nèi)存泄漏
    查看全部
  • 數(shù)據(jù)結(jié)構(gòu)的優(yōu)化處理
    查看全部
  • 1.內(nèi)存大戶:圖片
    查看全部
  • 軟引用方法解決圖片與圖片的內(nèi)存溢出
    查看全部
  • 設(shè)置顯示圖片的中心位置
    查看全部
  • 使用DDMS查看內(nèi)存
    查看全部
  • 查看內(nèi)存大小的方法
    查看全部
  • OOM問(wèn)題優(yōu)化(下) 通過(guò)軟引用來(lái)優(yōu)化圖片,使用單例模式 下次使用時(shí)先判斷此圖片是否還在,比如是否被回收了,或者第一次加載,就需要重新加載
    查看全部
  • OOM問(wèn)題優(yōu)化 1、OOM問(wèn)題分析 2、強(qiáng)引用、軟引用的意義 3、優(yōu)化OOM問(wèn)題的方法 4、代碼演示 1、OOM問(wèn)題分析 OOM的必然性與可解決性 OOM絕大多數(shù)發(fā)生在圖片 2、強(qiáng)引用、軟引用的意義 1) 如果強(qiáng)引用,必須主動(dòng)去回收,否則容易出現(xiàn)OOM 若是軟引用,系統(tǒng)在不用時(shí)自動(dòng)清理掉 private String strongref; private SoftReference<String> softref; strongref = String.valueOf(Math.radom()); //強(qiáng)引用 softref = new SoftReference(String.valueOf(Math.random())); //弱引用 變量的生命周期和其聲明的地方有關(guān),全局和局部,全局的生命周期就是Activity的生命周期,局部就是方法 2)強(qiáng)引用與軟引用的使用場(chǎng)景 強(qiáng)引用只能在生命周期結(jié)束才能被回收,除非.recycle() 3、優(yōu)化OOM問(wèn)題的方法 1)注意臨時(shí)Bitmap對(duì)象的及時(shí)回收 2)避免Bitmap的浪費(fèi) 3)Try catch某些大內(nèi)存分配操作 4)加載Bitmap:縮放比例、解碼格式、局部加載、LRU加載方式 實(shí)例: 1)選擇圖片 2)抽樣加載 3)對(duì)每個(gè)像素的RGB換一下,原來(lái)一個(gè)像素4個(gè)字節(jié),換成2個(gè)字節(jié) 4)顯示部分,可以手指移動(dòng) 可以參考 之前的例子 http://idcbgp.cn/u/1147490/course/489/notes?page=1
    查看全部
  • 筆記五 2、對(duì)象復(fù)用 1)復(fù)用系統(tǒng)自帶的資源 2)ListView/GridView的contentView復(fù)用 3) 避免在onDraw方法里面執(zhí)行對(duì)象的創(chuàng)建 3、避免內(nèi)存泄露 內(nèi)存泄露:由于代碼瑕疵,導(dǎo)致這塊內(nèi)存,雖然是停止不用了,但依然被其他東西引用著,使得GC沒(méi)法對(duì)它進(jìn)行回收。 1)內(nèi)存泄露會(huì)導(dǎo)致剩余可用Heap越來(lái)越少,頻繁出發(fā)GC 實(shí)例: private class TestThread extends Thread{ @Override public void run(){ super.run(); while(true){ try{ Thread.sleep(1000*60*5); }catch(InterruptedException e){ e.printStackTrace(); } } } } 以上thread是mainActivity的內(nèi)部類,會(huì)導(dǎo)致thread所在的activity無(wú)法被GC回收,因?yàn)閠hread實(shí)際上引用了activity的資源 優(yōu)化 private class TestThread extends Thread{ @Override public void run(){ super.run(); try{ Thread.sleep(1000*60*5); }catch(InterruptedException e){ e.printStackTrace(); } } } 2)尤其Activity的泄露 3)用Application Context而不是Activity Context 4)注意Cursor對(duì)象是否及時(shí)關(guān)閉
    查看全部
  • 筆記四 優(yōu)化: private void do Churn(){ Log.d("suncj", "doChurn start"); String[] strMatrix = new String[length]; //在外面定義 for(int i = 0; i < rowlenght; i ++){ for(int j = 0; j < length; j++){ strMatrix[j]= String.valueOf(ran.nextDouble()); } Log.d("suncj", "doChurn rowStr:"+i); } Log.d("suncj", "doChurn end"); } 4)再小的Class耗費(fèi)0.5KB 5)HashMap一個(gè)entry需要額外占用的32B
    查看全部
  • 筆記三 APP內(nèi)存優(yōu)化方法 1、數(shù)據(jù)結(jié)構(gòu)的優(yōu)化 2、對(duì)象復(fù)用 3、避免內(nèi)存泄露 4、相關(guān)演示 1、數(shù)據(jù)結(jié)構(gòu)的優(yōu)化 1)頻繁字符串拼接用StringBuilder 字符串通過(guò)+的方式進(jìn)行字符串拼接,會(huì)產(chǎn)生中間字符串內(nèi)存塊,這些都是沒(méi)有用的,而且低效,耗時(shí)較長(zhǎng) 2)ArrayMap、SparseArray替換HashMap 3)內(nèi)存抖動(dòng) 變量使用不當(dāng)引起的 突然的大量申請(qǐng)內(nèi)存,然后沒(méi)多久又棄之不用,過(guò)了一段時(shí)間,又大量申請(qǐng)內(nèi)存,像鋸齒一樣的內(nèi)存使用效果 實(shí)例: int rowlength = 10; //10 行 int length = 420000; private void do Churn(){ Log.d("suncj", "doChurn start"); for(int i = 0; i < rowlenght; i ++){ String[] strMatrix = new String[length]; //大量申請(qǐng)內(nèi)存 for(int j = 0; j < length; j++){ strMatrix[j]= String.valueOf(ran.nextDouble()); } Log.d("suncj", "doChurn rowStr:"+i); } Log.d("suncj", "doChurn end"); }
    查看全部

舉報(bào)

0/150
提交
取消
課程須知
最好有一定的android開(kāi)發(fā)基礎(chǔ),并有做過(guò)一些app項(xiàng)目
老師告訴你能學(xué)到什么?
老師能讓你知道內(nèi)存優(yōu)化的理論,優(yōu)化的問(wèn)題,方法等知識(shí)

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!