Android實(shí)現(xiàn)仿360桌面懸浮清理內(nèi)存
今天閑來(lái)無(wú)事寫了一個(gè)清內(nèi)存的小東西,類似360,在桌面上懸浮,點(diǎn)擊后清除后臺(tái)無(wú)用程序,清除后臺(tái)程序是通過(guò)調(diào)用ActivityManger.killBackgroundProcesses的方式來(lái)進(jìn)行的,這樣的方式有個(gè)不好的地方,就是重要性級(jí)別設(shè)置的高的應(yīng)用殺不掉。關(guān)鍵代碼如下所示
ActivityManager mActivityManager = MyManager.getActivityManager(mContext);
List<ActivityManager.RunningAppProcessInfo> process = mActivityManager.getRunningAppProcesses();
for(int i=0;i<process.size();i++){
ActivityManager.RunningAppProcessInfo ar = process.get(i);
String packageName = ar.processName;
packageName = packageName.split(":")[0];
//重要級(jí)別大于200,并且不被信任的后臺(tái)將被殺掉
if(ar.importance>100 && !MyManager.isTrust(packageName)){
MyManager.getActivityManager(mContext).killBackgroundProcesses(packageName);
}
}
還有一個(gè)部分功能是,桌面懸浮,這個(gè)功能是通過(guò)WindowManger的對(duì)象添加到桌面上的,關(guān)鍵代碼如下所示
WindowManager windowManager = getWindowManager(context);
int screenWidth = windowManager.getDefaultDisplay().getWidth();
int screenHeight = windowManager.getDefaultDisplay().getHeight();
if(mSmallFloatWin==null){
mSmallFloatWin = new SmallFloatWin(context);
if (smallWindowParams == null) {
smallWindowParams = new LayoutParams();
smallWindowParams.type = LayoutParams.TYPE_PHONE;
smallWindowParams.format = PixelFormat.RGBA_8888;
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_NOT_FOCUSABLE;
smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP;
smallWindowParams.width = SmallFloatWin.viewWidth;
smallWindowParams.height = SmallFloatWin.viewHeight;
smallWindowParams.x = screenWidth;
smallWindowParams.y = screenHeight / 2;
}
mSmallFloatWin.setParams(smallWindowParams);
windowManager.addView(mSmallFloatWin, smallWindowParams);
}
其中mSmallFloatWin就是要懸浮出來(lái)的視圖對(duì)象了。
后記:這個(gè)小東西殺后臺(tái)程序效果不算好,還有一種思路通過(guò)root的權(quán)限去執(zhí)行adb命令來(lái)進(jìn)行后臺(tái)程序。
附上源碼 點(diǎn)擊下載
- Android項(xiàng)目仿UC瀏覽器和360手機(jī)衛(wèi)士消息常駐欄(通知欄)
- Android實(shí)現(xiàn)類似360,QQ管家那樣的懸浮窗
- Android仿360懸浮小球自定義view實(shí)現(xiàn)示例
- android仿360加速球?qū)崿F(xiàn)內(nèi)存釋放
- Android開發(fā)實(shí)現(xiàn)模仿360二維碼掃描功能實(shí)例詳解
- Android靜默安裝實(shí)現(xiàn)方案 仿360手機(jī)助手秒裝和智能安裝功能
- Android實(shí)現(xiàn)360手機(jī)助手底部的動(dòng)畫菜單
- Android菜單(動(dòng)畫菜單、360波紋菜單)
- Android仿360桌面手機(jī)衛(wèi)士懸浮窗效果
- Android使用自定義View實(shí)現(xiàn)360手機(jī)衛(wèi)士波浪球進(jìn)度的效果
相關(guān)文章
android實(shí)現(xiàn)多點(diǎn)觸摸應(yīng)用
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)多點(diǎn)觸摸應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Android仿新聞頂部導(dǎo)航標(biāo)簽切換效果
這篇文章主要為大家詳細(xì)介紹了Android仿新聞頂部導(dǎo)航標(biāo)簽切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Android實(shí)現(xiàn)兩圓點(diǎn)之間來(lái)回移動(dòng)加載進(jìn)度
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)兩圓點(diǎn)之間來(lái)回移動(dòng)加載進(jìn)度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
詳解Android 視頻播放時(shí)停止后臺(tái)運(yùn)行的方法
這篇文章主要介紹了詳解Android 視頻播放時(shí)停止后臺(tái)運(yùn)行的方法的相關(guān)資料,需要的朋友可以參考下2017-06-06
完全解析Android多線程中線程池ThreadPool的原理和使用
本篇文章給大家通過(guò)原理和實(shí)例詳細(xì)講述了Android多線程中線程池ThreadPool的原理和使用,對(duì)此有興趣的朋友可以跟著參考學(xué)習(xí)下。2018-04-04
Android自定義View實(shí)現(xiàn)圓弧進(jìn)度效果逐步完成過(guò)程
在Android開發(fā)中,通過(guò)自定義View實(shí)現(xiàn)自己想要的效果是作為android開發(fā)程序員的一項(xiàng)必備技能,自定義View對(duì)于android開發(fā)來(lái)說(shuō)也是比較難的一項(xiàng)技術(shù)2023-04-04
詳談自定義View之GridView單選 金額選擇Layout-ChooseMoneyLayout
下面小編就為大家?guī)?lái)一篇詳談自定義View之GridView單選 金額選擇Layout-ChooseMoneyLayout。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05

