日常開(kāi)發(fā)的你一定沒(méi)有處理的OOM

這里轉(zhuǎn)載了一款文章箱歧,點(diǎn)擊觀看。詳細(xì)的介紹了日常開(kāi)發(fā)中經(jīng)常使用的一些單例一膨,線程呀邢,Handler一類的OOM的防止和處理。

內(nèi)存優(yōu)化很棒的一篇文章

1.單例產(chǎn)生的內(nèi)存溢出
2.handler產(chǎn)生的內(nèi)存溢出
3.線程造成的內(nèi)存溢出豹绪。AsyncTask
4.非靜態(tài)內(nèi)部類創(chuàng)建靜態(tài)實(shí)例內(nèi)存溢出价淌。對(duì)外部的一個(gè)引用。
5.webview
6.資源未關(guān)閉。

webview的解決方案:

其中一種就是使用getApplicationgContext作為參數(shù)構(gòu)建WebView蝉衣,然后動(dòng)態(tài)添加到一個(gè)ViewGroup中豺型,最后退出的時(shí)候調(diào)用webView的銷毀的函數(shù),雖然也達(dá)到了防止內(nèi)存溢出的效果买乃,但是在有些網(wǎng)頁(yè)彈出時(shí)候需要記住密碼的對(duì)話框的時(shí)候姻氨,會(huì)出現(xiàn)Unable to add window -- token null is not for an application 的錯(cuò)誤,所以這里采用的解決辦法是通過(guò)把使用了WebView的Activity(或者Service)放在單獨(dú)的進(jìn)程里剪验。然后在檢測(cè)到應(yīng)用占用內(nèi)存過(guò)大有可能被系統(tǒng)干掉或者它所在的Activity(或者Service)結(jié)束后肴焊,調(diào)用android.os.Process.killProcess(android.os.Process.myPid());,主動(dòng)Kill掉進(jìn)程功戚。由于系統(tǒng)的內(nèi)存分配是以進(jìn)程為準(zhǔn)的娶眷,進(jìn)程關(guān)閉后,系統(tǒng)會(huì)自動(dòng)回收所有內(nèi)存啸臀。

public class MainActivity5 extends AppCompatActivity {

 private WebView mWebView;

@Override

 protected  void onCreate(Bundle savedInstanceState) {
    super .onCreate(savedInstanceState);
    setContentView(R.layout.activity_web);
    mWebView = (WebView) findViewById(R.id.web);
     mWebView.loadUrl(
          "http://www.cnblogs.com/whoislcj/p/5720202.html");
 }

 @Override
protected void onDestroy() {
    destroyWebView();
    android.os.Process.killProcess(android.os.Process.myPid());
    super .onDestroy();
}

 
  
private void destroyWebView() {
 if (mWebView != null ) {
     mWebView.pauseTimers();
     mWebView.removeAllViews();
     mWebView.destroy();
    mWebView = null ;
  }
 }

 
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末届宠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子乘粒,更是在濱河造成了極大的恐慌豌注,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灯萍,死亡現(xiàn)場(chǎng)離奇詭異轧铁,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)旦棉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門齿风,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人绑洛,你說(shuō)我怎么就攤上這事救斑。” “怎么了真屯?”我有些...
    開(kāi)封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵脸候,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我讨跟,道長(zhǎng)纪他,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任晾匠,我火速辦了婚禮茶袒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凉馆。我一直安慰自己薪寓,他們只是感情好亡资,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著向叉,像睡著了一般锥腻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上母谎,一...
    開(kāi)封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天瘦黑,我揣著相機(jī)與錄音,去河邊找鬼奇唤。 笑死幸斥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的咬扇。 我是一名探鬼主播甲葬,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼懈贺!你這毒婦竟也來(lái)了经窖?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤梭灿,失蹤者是張志新(化名)和其女友劉穎画侣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體胎源,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棉钧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年屿脐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涕蚤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡的诵,死狀恐怖万栅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情西疤,我是刑警寧澤烦粒,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站代赁,受9級(jí)特大地震影響扰她,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芭碍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一徒役、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窖壕,春花似錦忧勿、人聲如沸杉女。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)熏挎。三九已至,卻和暖如春晌砾,著一層夾襖步出監(jiān)牢的瞬間坎拐,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工养匈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留廉白,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓乖寒,卻偏偏與公主長(zhǎng)得像猴蹂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子楣嘁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評(píng)論 25 707
  • Android Studio JNI流程首先在java代碼聲明本地方法 用到native關(guān)鍵字 本地方法不用去實(shí)現(xiàn)...
    MigrationUK閱讀 11,841評(píng)論 7 123
  • 1.什么是Activity?問(wèn)的不太多逐虚,說(shuō)點(diǎn)有深度的 四大組件之一,一般的,一個(gè)用戶交互界面對(duì)應(yīng)一個(gè)activit...
    JoonyLee閱讀 5,728評(píng)論 2 51
  • 你知道大花馬齒莧嗎?他們都叫它太陽(yáng)花聋溜,因?yàn)樗挥性谟嘘?yáng)光的時(shí)候才開(kāi)花,晴天有陰云它都會(huì)合上花門叭爱。感覺(jué)現(xiàn)在的自...
    籽紟閱讀 200評(píng)論 0 0
  • 2046年6月9日 今天再一次從天空之城出發(fā)撮躁,與上一次不同,這次大家是一起出動(dòng)了买雾。 出發(fā)之前把曼,想在辦公室收拾點(diǎn)有用...
    初霽713閱讀 160評(píng)論 0 2