Android中进程相关信息获取,pid,进程名
16lz
2022-07-25
1. 获取pid
int pid = android.os.Process.myPid();
2. 获取进程名及其他信息
ActivityManager mActivityManager = (ActivityManager) getContext().getSystemService(Context.ACTIVITY_SERVICE);for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager .getRunningAppProcesses()) { if (appProcess.pid == pid) { procName = appProcess.processName; }}
appProcess中可以获取一些进程相关的信息,如:
/** * The name of the process that this object is associated with */ public String processName; /** * The pid of this process; 0 if none */ public int pid; /** * The user id of this process. */ public int uid; /** * All packages that have been loaded into the process. */ public String pkgList[]; /** * Flags of information. May be any of * {@link #FLAG_CANT_SAVE_STATE}. * @hide */ public int flags; /** * Last memory trim level reported to the process: corresponds to * the values supplied to {@link android.content.ComponentCallbacks2#onTrimMemory(int) * ComponentCallbacks2.onTrimMemory(int)}. */ public int lastTrimLevel; /** * The relative importance level that the system places on this * process. May be one of {@link #IMPORTANCE_FOREGROUND}, * {@link #IMPORTANCE_VISIBLE}, {@link #IMPORTANCE_SERVICE}, * {@link #IMPORTANCE_BACKGROUND}, or {@link #IMPORTANCE_EMPTY}. These * constants are numbered so that "more important" values are always * smaller than "less important" values. */ public int importance; /** * An additional ordering within a particular {@link #importance} * category, providing finer-grained information about the relative * utility of processes within a category. This number means nothing * except that a smaller values are more recently used (and thus * more important). Currently an LRU value is only maintained for * the {@link #IMPORTANCE_BACKGROUND} category, though others may * be maintained in the future. */ public int lru; /** * The reason for {@link #importance}, if any. */ public int importanceReasonCode; /** * For the specified values of {@link #importanceReasonCode}, this * is the process ID of the other process that is a client of this * process. This will be 0 if no other process is using this one. */ public int importanceReasonPid; /** * For the specified values of {@link #importanceReasonCode}, this * is the name of the component that is being used in this process. */ public ComponentName importanceReasonComponent; /** * When {@link #importanceReasonPid} is non-0, this is the importance * of the other pid. @hide */ public int importanceReasonImportance; /** * Current process state, as per PROCESS_STATE_* constants. * @hide */ public int processState;
3. 其他
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();activityManager.getMemoryInfo(info);MLog.i(TAG, "系统剩余内存:" + (info.availMem >> 20) + "MB");MLog.i(TAG, "系统总内存:" + (info.totalMem >> 20)+"MB");MLog.i(TAG, "系统是否处于低内存运行:" +info.lowMemory);MLog.i(TAG, "当系统剩余内存低于" + (info.threshold >> 20) + "MB时就看成低内存运行");Runtime rt = Runtime.getRuntime();MLog.d(TAG, "Available heap " + (rt.freeMemory() >> 20) + "MB");MLog.d(TAG, "MAX heap " + (rt.maxMemory() >> 20) + "MB");MLog.d(TAG, "totle heap " + (rt.totalMemory() >> 20) + "MB");
更多相关文章
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
- android 获取唯一标识
- android拍照与读取相册
- Android(安卓)热点开关状态的判断和获取热点ssid
- Android软键盘适配问题
- AIR Native Extension的使用(Android)一 : 打包ane
- android之BitMap
- Android中GPS定位的简单应用