android任務管理器源碼
A. android關閉應用程序
Android程序有很多Activity,比如說主窗口A,調用了子窗口B,如果在B中直接finish(), 接下里顯示的是A。在B中如何關閉整個Android應用程序呢?本人總結了幾種比較簡單的實現方法。
1. Dalvik VM的本地方法
android.os.Process.killProcess(android.os.Process.myPid()) //獲取PID
System.exit(0); //常規java、c#的標准退出法,返回值為0代表正常退出
2. 任務管理器方法
首先要說明該方法運行在Android 1.5 API Level為3以上才可以,同時需要許可權
ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
系統會將,該包下的 ,所有進程,服務,全部殺掉,就可以殺干凈了,要注意加上
<uses-permission android:name=\"android.permission.RESTART_PACKAGES\"></uses-permission>
3. 根據Activity的聲明周期
我們知道Android的窗口類提供了歷史棧,我們可以通過stack的原理來巧妙的實現,這里我們在A窗口打開B窗口時在Intent中直接加入標志 Intent.FLAG_ACTIVITY_CLEAR_TOP,這樣開啟B時將會清除該進程空間的所有Activity。
在A窗口中使用下面的代碼調用B窗口
Intent intent = new Intent();
intent.setClass(Android123.this, CWJ.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //注意本行的FLAG設置
startActivity(intent);
接下來在B窗口中需要退出時直接使用finish方法即可全部退出。
4.自定義一個Actiivty 棧,道理同上,不過利用一個單例模式的Activity棧來管理所有Activity。
不過建議使用第一種方式來退出應用程序
B. android怎麼優化安裝耗時
Android系統為了保證手機的穩定性和安全性,默認只能將應用程序安裝到手機內存,這就相當於我們在電腦上安裝軟體時,只能安裝到C盤(系統盤)一樣。手機內存的空間本來就不大,安裝幾個應用程序就會被佔去大半,所以我們要想辦法讓應用程序可以安裝到存儲卡中。這就是Apptosd,簡稱為App2sd。
雖然從Android2.2開始,系統自身就已經支持App2sd,但在安裝軟體時仍會默認安裝到手機內存,需要我們到「設置-應用程序-管理應用程序」中打開要移動的應用程序詳細頁,點擊其中的「移至SD卡」才能移到存儲卡中。
超頻加速手機CPU超頻提高性能和電腦一樣,手機中也有一個CPU,而手機的運行速度很大程度上也取決於CPU的優劣,因此我們經常會在手機論壇中看到一些高手通過對CPU進行超頻的方法來改善手機性能,從而達到更加流暢的運行效果,因此,手機超頻可以說是提升機器運行速度很可行的辦法。
手機超頻需要獲取ROOT許可權,利用軟體就可以實現。下載超頻工具SetCPU,首次進入SetCPU會讓我們選擇自動超頻或者其他設置。超頻這個詞聽起來似乎很高深,但只要按照一定設置過程操作,很容易就可以實現(注意頻率不要一下調太高,超頻有風險,超頻需謹慎)。超頻以後手機的游戲性能會有不少起色,但手機會比之前的發熱量有所增加。
關閉後台進程釋放手機內存
Android系統支持多任務處理,這也是很多用戶放棄iphone選擇Android的理由。但多任務帶來的副作用就是長時間開機的話,手機會越用越慢,需要重啟才能恢復正常。Android雖然自帶任務管理器,卻只能完成後台任務之間的切換,不能關閉後台程序。Android系統自帶任務管理器,想關閉的話,需要進入設置-應用程序-管理應用程序,打開要關閉的軟體詳細頁,點擊其中的「強制停止」才行。使用AdvancedTaskManager高級任務管理器就要方便許多。下載安裝後運行高級任務管理器,軟體默認會顯示當前正在後台運行的應用程序列表,每一項的後面都標注了佔用的內存大小。
批量結束進程
Android系統很多軟體都沒有「退出」項,這一點起初讓用了多年windows的用戶們極為苦惱。而不久前有人表示,Android系統其實不需要關閉後台運行程序,相反這正是Android標榜的優勢之一,但是很多用戶仍然表示這樣做是有效果的。相關人士表示,其實這兩種觀點都沒有錯,因為在Android系統自帶的任務管理中,我們看到的程序都是剛剛運行過的,或是正在運行的,只要正常退出程序就不會佔用過多內存。在後台一直能看到是為了加速下次啟動,從而實現提高軟體啟動速度的目的。而當內存不夠用時,系統會自動結束最早使用的程序來釋放內存,所以對於一些小程序來說,不用經常手動結束任務就可以流暢運行。
C. android裡面我如果用任務管理器關閉一個應用,怎麼檢測到該應用是否關閉啊
打開「設置」中的「應用程序」這個選項,點擊「正在運行」。若顯示的列表中沒有那個應用,則該後台程序已被關閉。
利用第三方系統管理軟體進行查看。如ES任務管理器或者是360手機安全衛士中的清理功能均可以看到後台程序是否被關閉。
補充:若是因為後台程序太多導致內存不足,建議先將手機ROOT,然後使用360安全衛士等系統管理軟體將自啟動應用禁止即可。
D. android任務管理器源代碼
android手機代碼調式很簡單,只要你電腦裝了手驅動即可,手機需要做以下幾個設置:
1、首先將手機設置為調試模式
方法:設置——應用程序——開發——USB調試,打上勾即可。
2、用數據線連接至電腦,在電腦上安裝豌豆莢,此時豌豆莢會幫你安裝驅動,安裝好後豌豆莢就可以連接上手機了。
3、用adb命令測試是否有裝置已連接。
命令:adb devices
看到已經有一個裝置了,即為連接的真機
注意:有的人可能提示找不到這個adb命令,這是因為沒有將其加入到path環境變數中,或者你進入sdk下的tools目錄在運行此命令就不會報錯,或者將tools路徑加入到環境變數中,當然推薦第二種方法了。
有的時候可能會出現下面的錯誤:
adb server is out of date. killing...
ADB server didn't ACK *
failed to start daemon *
究其源就是adb server沒啟動
到stackoverflow上查了一下 經過分析整理如下:
原來adb server 埠綁定失敗
繼續查看到底是哪個程序給佔用了
C:\Users\xxxxxx>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 4236
TCP 127.0.0.1:5037 127.0.0.1:49422 ESTABLISHED 4236
TCP 127.0.0.1:49422 127.0.0.1:5037 ESTABLISHED 3840
打開任務管理器kill掉PID為4236 的這個進程。ok,至此問題解決了
4、開始在真機上調試
在eclipse中選擇Run——Run Configurations,在左邊選擇好你要調試的工程,然後將右邊切換至Target標簽下
這有三個選項,如果想連接至真機調試,可選第一個或第二個,這里直接選擇第一個,點擊Run,等待幾秒鍾出現以下界面
在這里就看到了真機裝置了,選擇上面的真機OK即可在真機上運行程序了。