欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

今天閑來無事寫了一個清內(nèi)存的小東西,類似360,在桌面上懸浮,點擊后清除后臺無用程序,清除后臺程序是通過調(diào)用ActivityManger.killBackgroundProcesses的方式來進行的,這樣的方式有個不好的地方,就是重要性級別設(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(":")[];
      //重要級別大于,并且不被信任的后臺將被殺掉
      if(ar.importance> && !MyManager.isTrust(packageName)){
       MyManager.getActivityManager(mContext).killBackgroundProcesses(packageName);
      }
     } 

還有一個部分功能是,桌面懸浮,這個功能是通過WindowManger的對象添加到桌面上的,關(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就是要懸浮出來的視圖對象了。

后記:這個小東西殺后臺程序效果不算好,還有一種思路通過root的權(quán)限去執(zhí)行adb命令來進行后臺程序。

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

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

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

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

x值用于確定懸浮窗的位置,如果要橫向移動懸浮窗,就需要改變這個值。

y值用于確定懸浮窗的位置,如果要縱向移動懸浮窗,就需要改變這個值。

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

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

相關(guān)文章

最新評論