編輯:關於Android編程
做Android項目的時候發現一個問題:當應用程序退出了,點擊"設置"查看應用程序,界面顯示著可以點擊"強制關閉".
我認為造成這樣的原因是還有開啟的activity沒有被destroy,然後做調試,之後發現開啟的activity應該是全部都被
destroy了.但是結果還是顯示可以點擊"強制關閉". www.2cto.com
由於這個問題我發現了一個更加嚴重的問題,那就是,在我應用程序退出之後,系統並沒有釋放掉我應用程序所占內存.
之後在網上查解決辦法.說是有兩個:
方式一:
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());
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
有的人說可以結束掉應用程序,但是不知道什麼原因,我在試用了這兩個方法之後都還是不能結束掉我的應用程序.
我在在點擊"設置"查看我應用的時候,界面還是顯示可以點擊"強制關閉".
但是,用這兩個方法是可以釋放掉應用程序所占內存的.
嚴重的問題解決了,那個可以點擊"強制關閉"的問題貌似也不會造成什麼影響.所以這個問題我也沒解決了.
最後說下這兩種方式和在哪使用吧.
第一種方式是退出虛擬機,使用這種方式,要注意的是,如果設備裝有兩個或多個應用中的activity的Category為HOME的
應用,那麼每當退出這個應用的時候,設備都會讓用戶選擇進入到哪個應用.
第二種方式是kill掉當前應用進程.它不會發生讓用戶選擇進入哪一個應用這種情況.
在哪裡使用的話,一般是在最後一個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);
}
學習章節:第一章 Activity的生命周期和啟動模式學習內容:1正常情況下Activity的生命周期分析先上一張經典圖片鎮樓:測試正常情況Activity生命周期的代碼
微信朋友圈值乎怎麼玩?大家是否還記得微信紅包看照片的活動?現在知乎也推出了一個新的活動,那就是如果你想看完我的整篇文章,請付錢。 哈哈~是不是很有意思呢?
我們在手機上查看相冊時,首先看到的是網格狀的圖片展示界面,然後我們選擇想要欣賞的照片點擊進入,這樣就可以全屏觀看該照片,並且可以通過左右滑動來切換照片。如下圖的顯示效果:
項目效果如下:項目目錄結構如下:代碼如下:AudioManager.javapackage com.xuliugen.weichat;import java.io.Fil