最近学习android,总感觉看文档太慢,而且总是提不起学习的兴趣来,于是决定看api源码,然后试着做一些练习,看的是2.0的api源码.首先看的是android.app包中的代码,主要是activity相关的api代码.当看完ActivityManager这个类的doc时,想着能不能做个类似windows的任务管理器的小app.简单的管理app 的process.
从ActivityManager这个类中可以得到device configuration attributes,process memory information,recently launched tasks,running application processes,running service,running tasks等信息:
得到的方法如下:
ActivityManager activityManager = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
Debug.MemoryInfo[] processMemoryInfo = activityManager.getProcessMemoryInfo(processIds);
List<RunningServiceInfo> runningServiceInfos = activityManager.getRunningServices(MaxValue);
List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(MaxValue);
我想做的就是得到这些信息,然后进行简单的管理,(如显示详细信息,停止process等).需要注意的是在得到一些信息时要得到需要在你的application中设置相应的权限,如Task信息要要有android.Manifest.permission.GET_TASKS.程序很简单,下面上几张我的app抓图:
1.进入我的app显示
2,选中一个listitem后
3,选中detail操作:
4,进行stop操作:
能进行stop的runningAppProcess和不能进行stop
说明下:stop后被stop的app就不会显示,这里不能进行stop的runningAppProcess是根据app的improtance进行判断的,只有importance<500的能进行stop.
5,最后是about,给自己做做广告,嘿嘿:
这个app中只做了RunningAppProcess的简单操作.程序中還用到的android有android.widget.TabHost 页签管理,android.widget.Toast 提示信息Toast,android.content.DialogInterface 对话筐.
.apk文件在附件中,代码写的比较乱,整理下传上来.
欢迎大家提出意见和建议.谢谢.
恩,终于找到源码了,上传。不过没整理,大家见谅。。。
- 大小: 16 KB
- 大小: 9.4 KB
- 大小: 18.7 KB
- 大小: 15.8 KB
- 大小: 12.8 KB
- 大小: 19 KB
- 大小: 18.5 KB
分享到:
相关推荐
Android ActivityManager API 对比总结,详细介绍了对比情况
ActivityManager学习。了解activity运行原理
Android ActivityManager系统文档分析总结,详细介绍了ActivityManager的各种模式
Android5.0之后,因为Google对权限的收敛,getRunningTasks()已经被停用。若是再想要取到当前前台正在运行的应用的信息的话,可以使用此方法,代码量比较少,还是很不错的。 唯一一个个人觉得不足的地方:第一回启动...
[Android1_5]ActivityManager [1] Killed am start -n - 农民伯伯 - 博客园.mht346.22 KB [Android1_5]Android2_0版本以下Activity切换动画效果 - 农民伯伯 - 博客园.mht357.27 KB [Android1_5]DigitalClock自定义...
android监听app的启动,在API20以前用ActivityManager获取栈顶最近的应用,但API20以后捕捉不到手机上软件包名,这个更改可以获取最近打开app的包名,从而监听打开的APP。
Android中获取正在运行的应用程序-----ActivityManager的使用(二)
什么是Android应用? PackageManager相关 ActivityManager相关
Method method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage",String.class); method.invoke(mActivityManager, pkgList[j]); // packageName是需要强制停止的应用...
Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用
在Android里,程序内存被分为2部分:native和dalvik,dalvik就是我们普通的Java使用内存,分析堆栈的时候使用的内存。...ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVIC
android实现火箭动画清理内存 文章中主要用到两个类:Animation和ActivityManager
Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合、高内聚,使用起来非常轻松。 -基类 ClassName Description ...
Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
ActivityManager框架解析归纳.pdf
对于app中activity的管理
Binder是ServiceManager连接各种Manager(ActivityManager、WindowManager,etc)和相应ManagerService的桥梁 从Android应用层来说,Binder是客户端和服务端进行通信的媒介,当你bindService的时候,服务端会返回一...
activitymanager_arm17_1013.apk