常用语句:
android.os.Process
//获取当前进程的方法
android.os.Process.getElapsedCpuTime():获取消耗的时间。
android.os.Process.myPid():获取该进程的ID。
android.os.Process.myTid():获取该线程的ID。
android.os.Process.myUid():获取该进程的用户ID。
android.os.Process.supportsProcesses:判断该进程是否支持多进程。
// 获取/设置线程优先级
getThreadPriority(int tid):获取指定ID的线程的优先级。
setThreadPriority(int priority):设置当前线程的优先级。
setThreadPriority(int tid,int priority):设置指定ID的线程的优先级。
//管理进程
killProcess(int pid):杀死指定的进程。
sendSignal(int pid,int singal):向指定的进程发送信号。
android.os.Environment
//获取系统环境变量
getDataDirectory():获取当前系统中数据文件夹环境变量。
getDownloadCacheDirectory():获取当前系统中下载缓存文件环境变量。
getExternalStorageDirectory():获取当前系统中外部存储文件环境变量。
getRootDirectory():获取当前系统中根文件环境变量。
---------------------------------------
实例:viewrootImp.java中的构造函数,打印进程和线程id
public ViewRootImpl(Context context, Display display) {
mContext = context;
mWindowSession = WindowManagerGlobal.getWindowSession();
mDisplay = display;
mBasePackageName = context.getBasePackageName();
mDisplayAdjustments = display.getDisplayAdjustments();
mThread = Thread.currentThread();
Log.d("stl","ViewRootImpl "+android.os.Process.myPid()+" Thread: "+android.os.Process.myTid()+" name "+Thread.currentThread().getName());
输出:
01-08 13:22:23.509 2373 2373 D stl : ViewRootImpl 2373 Thread: 2373
01-08 13:22:25.929 4027 4027 D stl : ViewRootImpl 4027 Thread: 4027
01-08 13:22:26.979 4168 4168 D stl : ViewRootImpl 4168 Thread: 4168
01-08 13:22:27.949 3825 3825 D stl : ViewRootImpl 3825 Thread: 3825
01-08 13:22:28.069 3825 3825 D stl : ViewRootImpl 3825 Thread: 3825
前面一个号是进程id,后面一个号是线程id。
使用Thread.java的getId得到的不是这个,具体区别还在学习。后续跟进文章。
但一般研发人员分析log,都需要这个id,和logcat抓到的一样
sudo adb logcat -v threadtime