今天闲来无事写了一个清内存的小东西,类似360,在桌面上悬浮,点击后清除后台无用程序,清除后台程序是通过调用ActivityManger.killBackgroundProcesses的方式来进行的,这样的方式有个不好的地方,就是重要性级别设置的高的应用杀不掉。关键代码如下所示
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的对象添加到桌面上的,关键代码如下所示
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的权限去执行adb命令来进行后台程序。
WindowManager.LayoutParams这个类用于提供悬浮窗所需的参数,其中有几个经常会用到的变量:
type值用于确定悬浮窗的类型,一般设为2002,表示在所有应用程序之上,但在状态栏之下。
flags值用于确定悬浮窗的行为,比如说不可聚焦,非模态对话框等等,属性非常多,大家可以查看文档。
gravity值用于确定悬浮窗的对齐方式,一般设为左上角对齐,这样当拖动悬浮窗的时候方便计算坐标。
x值用于确定悬浮窗的位置,如果要横向移动悬浮窗,就需要改变这个值。
y值用于确定悬浮窗的位置,如果要纵向移动悬浮窗,就需要改变这个值。
width值用于指定悬浮窗的宽度。
height值用于指定悬浮窗的高度。
本文向大家介绍Android实现仿360桌面悬浮清理内存,包括了Android实现仿360桌面悬浮清理内存的使用技巧和注意事项,需要的朋友参考一下 今天闲来无事写了一个清内存的小东西,类似360,在桌面上悬浮,点击后清除后台无用程序,清除后台程序是通过调用ActivityManger.killBackgroundProcesses的方式来进行的,这样的方式有个不好的地方,就是重要性级别设置的高的应
本文向大家介绍Android实现桌面悬浮窗、蒙板效果实例代码,包括了Android实现桌面悬浮窗、蒙板效果实例代码的使用技巧和注意事项,需要的朋友参考一下 现在很多安全类的软件,比如360手机助手,百度手机助手等等,都有一个悬浮窗,可以飘浮在桌面上,方便用户使用一些常用的操作。 今天这篇文章,就是介绍如何实现桌面悬浮窗效果的。 首先,看一下效果图。 悬浮窗一共分为两个部分,一个是平常显示的小窗口,
本文向大家介绍基于popupWindow实现悬浮半透明效果,包括了基于popupWindow实现悬浮半透明效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了popupWindow实现悬浮半透明效果的具体代码,供大家参考,具体内容如下 如上图显示弹出一个半透明框 java代码: soft_calendar_popup.xml的内容: 以上就是本文的全部内容,希望对大家的学习有所帮助
本文向大家介绍Android实现App中导航Tab栏悬浮的功能,包括了Android实现App中导航Tab栏悬浮的功能的使用技巧和注意事项,需要的朋友参考一下 首先是“饿了么”导航Tab栏悬浮的效果图。 大家可以看到上图中的“分类”、“排序”、“筛选”会悬浮在app的顶部,状态随着ScrollView(也可能不是ScrollView,在这里姑且把这滑动的UI控件当作ScrollView吧)的滚动而
本文向大家介绍Android实现顶部悬浮效果,包括了Android实现顶部悬浮效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现顶部悬浮效果的具体代码,供大家参考,具体内容如下 效果图 布局 java 注意事项 1.清单文件需要配置 2.gradle配置需要24以上 3.recyclerView的下滑和swipRefreshLayout的下拉刷新会冲突,所以需要
本文向大家介绍Android实现悬浮对话框代码,包括了Android实现悬浮对话框代码的使用技巧和注意事项,需要的朋友参考一下 先给大家展示下效果图,大家觉效果满意,请参考实现代码。 直接上代码: 首先inflate一个xml文件,产生一个view;再创建一个Dialog,设置Dialog的View为inflate的view;然后通过WindowManager.LayoutParams设置Dial