亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Android實(shí)現(xiàn)桌面懸浮清內(nèi)存app概述

 更新時(shí)間:2015年12月25日 14:39:31   作者:jerrylsxu  
最近沒有項(xiàng)目做,于是寫了個(gè)小程序練練手,android桌面懸浮清內(nèi)存app概述,感興趣的朋友一起學(xué)習(xí)吧

今天閑來(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=;i<process.size();i++){
      ActivityManager.RunningAppProcessInfo ar = process.get(i);
      String packageName = ar.processName;
      packageName = packageName.split(":")[];
      //重要級(jí)別大于,并且不被信任的后臺(tái)將被殺掉
      if(ar.importance> && !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_; 
     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 / ; 
    } 
    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)程序。

WindowManager.LayoutParams這個(gè)類用于提供懸浮窗所需的參數(shù),其中有幾個(gè)經(jīng)常會(huì)用到的變量:

type值用于確定懸浮窗的類型,一般設(shè)為2002,表示在所有應(yīng)用程序之上,但在狀態(tài)欄之下。

flags值用于確定懸浮窗的行為,比如說(shuō)不可聚焦,非模態(tài)對(duì)話框等等,屬性非常多,大家可以查看文檔。

gravity值用于確定懸浮窗的對(duì)齊方式,一般設(shè)為左上角對(duì)齊,這樣當(dāng)拖動(dòng)懸浮窗的時(shí)候方便計(jì)算坐標(biāo)。

x值用于確定懸浮窗的位置,如果要橫向移動(dòng)懸浮窗,就需要改變這個(gè)值。

y值用于確定懸浮窗的位置,如果要縱向移動(dòng)懸浮窗,就需要改變這個(gè)值。

width值用于指定懸浮窗的寬度。

height值用于指定懸浮窗的高度。

相關(guān)文章

最新評(píng)論