最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android 退出程序解決內(nèi)存釋放的問題

 更新時間:2012年11月22日 16:22:32   作者:  
做Android項目的時候發(fā)現(xiàn)一個問題:當(dāng)應(yīng)用程序退出了,點擊"設(shè)置"查看應(yīng)用程序,界面顯示著可以點擊"強制關(guān)閉 由于這個問題我發(fā)現(xiàn)了一個更加嚴(yán)重的問題,那就是,在我應(yīng)用程序退出之后,系統(tǒng)并沒有釋放掉我應(yīng)用程序所占內(nèi)存
做Android項目的時候發(fā)現(xiàn)一個問題:當(dāng)應(yīng)用程序退出了,點擊"設(shè)置"查看應(yīng)用程序,界面顯示著可以點擊"強制關(guān)閉".

我認(rèn)為造成這樣的原因是還有開啟的activity沒有被destroy,然后做調(diào)試,之后發(fā)現(xiàn)開啟的activity應(yīng)該是全部都被destroy了.但是結(jié)果還是顯示可以點擊"強制關(guān)閉". 

由于這個問題我發(fā)現(xiàn)了一個更加嚴(yán)重的問題,那就是,在我應(yīng)用程序退出之后,系統(tǒng)并沒有釋放掉我應(yīng)用程序所占內(nèi)存.

之后在網(wǎng)上查解決辦法.說是有兩個:

方式一:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
System.exit(0);

方式二:
android.os.Process.killProcess(android.os.Process.myPid());


有的人說可以結(jié)束掉應(yīng)用程序,但是不知道什么原因,我在試用了這兩個方法之后都還是不能結(jié)束掉我的應(yīng)用程序.
我在在點擊"設(shè)置"查看我應(yīng)用的時候,界面還是顯示可以點擊"強制關(guān)閉".
但是,用這兩個方法是可以釋放掉應(yīng)用程序所占內(nèi)存的.
嚴(yán)重的問題解決了,那個可以點擊"強制關(guān)閉"的問題貌似也不會造成什么影響.所以這個問題我也沒解決了.
最后說下這兩種方式和在哪使用吧.
第一種方式是退出虛擬機,使用這種方式,要注意的是,如果設(shè)備裝有兩個或多個應(yīng)用中的activity的Category為HOME的
應(yīng)用,那么每當(dāng)退出這個應(yīng)用的時候,設(shè)備都會讓用戶選擇進入到哪個應(yīng)用.
第二種方式是kill掉當(dāng)前應(yīng)用進程.它不會發(fā)生讓用戶選擇進入哪一個應(yīng)用這種情況.
在哪里使用的話,一般是在最后一個activity的onDestroy()方法中使用這兩種方法
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
// release application's RAM
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
System.exit(0);
}

相關(guān)文章

最新評論

林周县| 太原市| 肇东市| 连山| 光山县| 益阳市| 布拖县| 岳普湖县| 静安区| 邵阳县| 浠水县| 永泰县| 庄浪县| 沈阳市| 孟连| 定襄县| 出国| 内江市| 潮安县| 通山县| 靖安县| 营口市| 昭觉县| 阿城市| 上饶市| 黔南| 二手房| 韶山市| 崇礼县| 潼关县| 丰都县| 常熟市| 攀枝花市| 凌源市| 龙州县| 阿鲁科尔沁旗| 宜昌市| 莱阳市| 游戏| 太和县| 华容县|