android.os.Process.myPid():获取该进程的ID。
android.os.Process.myTid():获取该线程的ID。
android.os.Process.myUid():获取该进程的用户ID。
---------------------------------------
实例: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