最近学习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); ListrunningServiceInfos = activityManager.getRunningServices(MaxValue); List 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文件在附件中,代码写的比较乱,整理下传上来.
欢迎大家提出意见和建议.谢谢.
恩,终于找到源码了,上传。不过没整理,大家见谅。。。