JHandler
===
Android 2.2.3 里面handler相关的源码,用于学习handler机制。
可用于java、javafx等项目,作为线程消息队列使用。
```java
public class HandlerTest {
public static void main(String... args) {
//启动一个主线程处理消息
startMainHandler();
//其他的handler线程
HandlerThread handlerThread = new HandlerThread("MAIN") {
@Override
protected void onLooperPrepared() {
super.onLooperPrepared();
//设置这个线程为handler消息处理的主线程
Log.d("MAIN", "tid=" + Thread.currentThread().getId());
}
};
//开始运行主线程
handlerThread.start();
//其他线程
Thread otherThread = new Thread(() -> {
Handler mainHandler = new Handler(Looper.getMainLooper());
Handler htHandler = new Handler(handlerThread.getLooper());
while (true) {
Log.d("\notherThread", "=====================\n");
Log.d("otherThread", "tid=" + Thread.currentThread().getId());
mainHandler.postDelayed(() -> {
//这将会在mainThread里面运行
Log.d("mainHandler", "run:tid=" + Thread.currentThread().getId());
}, 3000);
htHandler.postDelayed(() -> {
//这将会在handlerThread里面执行
Log.d("htHandler", "run:tid=" + Thread.currentThread().getId());
}, 2000);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
});
otherThread.start();
}
/**
* 启动之后,可以使用Looper.getMainLooper()
*/
public static void startMainHandler() {
//此线程做为handler的主线程
Thread mainThread = new Thread(() -> {
Looper.prepareMainLooper();
Log.d("mainThread", "tid=" + Thread.currentThread().getId());
Looper.loop();
});
mainThread.start();
}
}
```
```log
> Task :HandlerTest.main()
2023-03-02 10:40:55 MAIN:tid=16
2023-03-02 10:40:55
otherThread:=====================
2023-03-02 10:40:55 mainThread:tid=15
2023-03-02 10:40:55 otherThread:tid=17
2023-03-02 10:40:57 htHandler:run:tid=16
2023-03-02 10:40:58 mainHandler:run:tid=15
2023-03-02 10:41:00
otherThread:=====================
2023-03-02 10:41:00 otherThread:tid=17
2023-03-02 10:41:02 htHandler:run:tid=16
2023-03-02 10:41:03 mainHandler:run:tid=15
```
免责声明:
1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。
2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。
3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。
4.本资源不应用于商业用途。
5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。
6.对于因使用本资源而产生的任何损失或损害,我概不负责。
请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。
资源最后修改时间:2024-09-24 21:39:47
22873031258344
59eb8141-64e0-4a09-b728-7c1a6124f81c
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
android2.2.3里面的handler源码,可用于学习,或用于java、javafx等项目,作为线程消息队列使用。.zip (29个子文件)
JHandler_2_2_3-main
gradle
wrapper
gradle-wrapper.jar 58KB
gradle-wrapper.properties 202B
src
test
java
HandlerTest.java 2KB
main
java
android
handler2_2_3
MessageQueue.java 10KB
Message.java 12KB
HandlerThread.java 3KB
Messenger.java 2KB
Config.java 153B
Log.java 1KB
SystemClock.java 207B
Printer.java 188B
IMessenger.java 150B
Bundle.java 35KB
Handler.java 22KB
Looper.java 7KB
LICENSE 11KB
gradlew.bat 3KB
build.gradle 911B
.idea
uiDesigner.xml 9KB
vcs.xml 180B
misc.xml 670B
gradle.xml 856B
.gitignore 47B
encodings.xml 402B
settings.gradle 35B
gradlew 8KB
.gitignore 539B
README.md 3KB
jar
JHandler_2_2_3-1.0-SNAPSHOT.jar 24KB
共 29 条
- 1
资源评论
苹果醋3
- 粉丝: 1075
- 资源: 72
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功