永济网站建设wordpress虚拟资源助推
- 作者: 五速梦信息网
- 时间: 2026年04月20日 06:58
当前位置: 首页 > news >正文
永济网站建设,wordpress虚拟资源助推,设计教程网,无代码建站软件在上一篇文章《学习HandlerThread》我们提到虽然HandlerThread类里有getThreadHandler()方法得到Handler#xff0c;但是我们不可能调用到它。因为这个方法用hide注释了 /*** return a shared {link Handler} associated with this thread* hide/NonNullpublic Handler getT…在上一篇文章《学习HandlerThread》我们提到虽然HandlerThread类里有getThreadHandler()方法得到Handler但是我们不可能调用到它。因为这个方法用hide注释了 /** return a shared {link Handler} associated with this thread* hide/NonNullpublic Handler getThreadHandler() {if (mHandler null) {mHandler new Handler(getLooper());}return mHandler;}那么我们来看看hide究竟是何方神圣。 如果我们的android项目的build.gradle配置了compileSdk 32那么在我们编译我们android应用时$ANDROID_SDK_HOME/platforms/android-32/android.jar就会加入我们编译时的类路径中参与app的编译。hide会控制我们编译时用到的这个android.jar包里的东西。 android.jar作为编译android本身的一部分被创建。Android framework的类会被分析并创建它们的副本。这个副本有以下特点 去除被标注了hide的类、方法、字段等所有剩下的方法都有stub实现即throw new RuntimeException(Stub!)保留所有没有被去除的类、方法、字段的JavaDoc注解 我们使用javap命令查看一下android.os.HandlerThread.class里的东西 % javap -verbose android/os/HandlerThread.class从下面我们可以看到HandlerThread.class确实没有了getThreadHandler方法。 Classfile **/adddd/android/android/os/HandlerThread.classLast modified Jan 1, 2008; size 1043 bytesSHA-256 checksum 8161f60748df5cf7489dbf189c3f4668d81a17595dbd55e52baa0f8263bb96d4Compiled from HandlerThread.java public class android.os.HandlerThread extends java.lang.Threadminor version: 0major version: 52flags: (0x0021) ACC_PUBLIC, ACC_SUPERthis_class: #5 // android/os/HandlerThreadsuper_class: #6 // java/lang/Threadinterfaces: 0, fields: 0, methods: 8, attributes: 1 Constant pool:#1 Methodref #6.#31 // java/lang/Thread.init:()V#2 Class #32 // java/lang/RuntimeException#3 String #33 // Stub!#4 Methodref #2.#34 // java/lang/RuntimeException.init:(Ljava/lang/String;)V#5 Class #35 // android/os/HandlerThread#6 Class #36 // java/lang/Thread#7 Utf8 init#8 Utf8 (Ljava/lang/String;)V#9 Utf8 Code#10 Utf8 LineNumberTable#11 Utf8 LocalVariableTable#12 Utf8 this#13 Utf8 Landroid/os/HandlerThread;#14 Utf8 name#15 Utf8 Ljava/lang/String;#16 Utf8 (Ljava/lang/String;I)V#17 Utf8 priority#18 Utf8 I#19 Utf8 onLooperPrepared#20 Utf8 ()V#21 Utf8 run#22 Utf8 getLooper#23 Utf8 ()Landroid/os/Looper;#24 Utf8 quit#25 Utf8 ()Z#26 Utf8 quitSafely#27 Utf8 getThreadId#28 Utf8 ()I#29 Utf8 SourceFile#30 Utf8 HandlerThread.java#31 NameAndType #7:#20 // init:()V#32 Utf8 java/lang/RuntimeException#33 Utf8 Stub!#34 NameAndType #7:#8 // init:(Ljava/lang/String;)V#35 Utf8 android/os/HandlerThread#36 Utf8 java/lang/Thread {public android.os.HandlerThread(java.lang.String);descriptor: (Ljava/lang/String;)Vflags: (0x0001) ACC_PUBLICCode:stack3, locals2, args_size20: aload_01: invokespecial #1 // Method java/lang/Thread.init:()V4: new #2 // class java/lang/RuntimeException7: dup8: ldc #3 // String Stub!10: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V13: athrowLineNumberTable:line 23: 0LocalVariableTable:Start Length Slot Name Signature0 14 0 this Landroid/os/HandlerThread;0 14 1 name Ljava/lang/String;public android.os.HandlerThread(java.lang.String, int);descriptor: (Ljava/lang/String;I)Vflags: (0x0001) ACC_PUBLICCode:stack3, locals3, args_size30: aload_01: invokespecial #1 // Method java/lang/Thread.init:()V4: new #2 // class java/lang/RuntimeException7: dup8: ldc #3 // String Stub!10: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V13: athrowLineNumberTable:line 25: 0LocalVariableTable:Start Length Slot Name Signature0 14 0 this Landroid/os/HandlerThread;0 14 1 name Ljava/lang/String;0 14 2 priority Iprotected void onLooperPrepared();descriptor: ()Vflags: (0x0004) ACC_PROTECTEDCode:stack3, locals1, args_size10: new #2 // class java/lang/RuntimeException3: dup4: ldc #3 // String Stub!6: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V9: athrowLineNumberTable:line 27: 0LocalVariableTable:Start Length Slot Name Signature0 10 0 this Landroid/os/HandlerThread;public void run();descriptor: ()Vflags: (0x0001) ACC_PUBLICCode:stack3, locals1, args_size10: new #2 // class java/lang/RuntimeException3: dup4: ldc #3 // String Stub!6: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V9: athrowLineNumberTable:line 29: 0LocalVariableTable:Start Length Slot Name Signature0 10 0 this Landroid/os/HandlerThread;public android.os.Looper getLooper();descriptor: ()Landroid/os/Looper;flags: (0x0001) ACC_PUBLICCode:stack3, locals1, args_size10: new #2 // class java/lang/RuntimeException3: dup4: ldc #3 // String Stub!6: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V9: athrowLineNumberTable:line 31: 0LocalVariableTable:Start Length Slot Name Signature0 10 0 this Landroid/os/HandlerThread;public boolean quit();descriptor: ()Zflags: (0x0001) ACC_PUBLICCode:stack3, locals1, args_size10: new #2 // class java/lang/RuntimeException3: dup4: ldc #3 // String Stub!6: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V9: athrowLineNumberTable:line 33: 0LocalVariableTable:Start Length Slot Name Signature0 10 0 this Landroid/os/HandlerThread;public boolean quitSafely();descriptor: ()Zflags: (0x0001) ACC_PUBLICCode:stack3, locals1, args_size10: new #2 // class java/lang/RuntimeException3: dup4: ldc #3 // String Stub!6: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V9: athrowLineNumberTable:line 35: 0LocalVariableTable:Start Length Slot Name Signature0 10 0 this Landroid/os/HandlerThread;public int getThreadId();descriptor: ()Iflags: (0x0001) ACC_PUBLICCode:stack3, locals1, args_size10: new #2 // class java/lang/RuntimeException3: dup4: ldc #3 // String Stub!6: invokespecial #4 // Method java/lang/RuntimeException.init:(Ljava/lang/String;)V9: athrowLineNumberTable:line 37: 0LocalVariableTable:Start Length Slot Name Signature0 10 0 this Landroid/os/HandlerThread; } SourceFile: HandlerThread.java 这里再介绍一下从这个HandlerThread.class里面看到的一些信息 minor version: 0 major version: 52:表示当前这个.class文件是用哪个编译器生产的 JDK Version(in Decimal) Major VersionJava SE 8.052Java SE 11.055 Compiled from “HandlerThread.java”说明.class文件是由这HandlerThread.java编译而来的
- 上一篇: 永丰县城乡建设局网站百度推广需要自己做网站吗
- 下一篇: 永嘉网站开发公司猪八戒做网站怎么样
相关文章
-
永丰县城乡建设局网站百度推广需要自己做网站吗
永丰县城乡建设局网站百度推广需要自己做网站吗
- 技术栈
- 2026年04月20日
-
永登县建设局网站怎么做网站赚钱的动漫网站
永登县建设局网站怎么做网站赚钱的动漫网站
- 技术栈
- 2026年04月20日
-
永德网站建设县城做网站的多么
永德网站建设县城做网站的多么
- 技术栈
- 2026年04月20日
-
永嘉网站开发公司猪八戒做网站怎么样
永嘉网站开发公司猪八戒做网站怎么样
- 技术栈
- 2026年04月20日
-
永嘉网站制作哪家好个人网站用什么域名好
永嘉网站制作哪家好个人网站用什么域名好
- 技术栈
- 2026年04月20日
-
永嘉网站制作哪家好网站推广外包公司
永嘉网站制作哪家好网站推广外包公司
- 技术栈
- 2026年04月20日
