Android应用程序如何把消息加入到消息队列中
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章主要介绍"Android应用程序如何把消息加入到消息队列中",在日常操作中,相信很多人在Android应用程序如何把消息加入到消息队列中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年11月12日Android应用程序如何把消息加入到消息队列中
这篇文章主要介绍"Android应用程序如何把消息加入到消息队列中",在日常操作中,相信很多人在Android应用程序如何把消息加入到消息队列中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android应用程序如何把消息加入到消息队列中"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
应用程序的主线程准备就好消息队列并且进入到消息循环后,其它地方就可以往这个消息队列中发送消息了。
在Android应用程序启动过程源代码分析这篇文章的Step 30中,ActivityManagerService通过调用ApplicationThread类的scheduleLaunchActivity函 数通知应用程序。
它可以加载应用程序的默认Activity了,这个函数定义在frameworks/base/core/java/android /app/ActivityThread.java文件中:
[java] view plaincopypublic final class ActivityThread { ...... private final class ApplicationThread extends ApplicationThreadNative { ...... // we use token to identify this activity without having to send the // activity itself back to the activity manager. (matters more with ipc) public final void scheduleLaunchActivity(Intent intent, IBinder token, int ident, ActivityInfo info, Bundle state, List pendingResults, List pendingNewIntents, boolean notResumed, boolean isForward) { ActivityClientRecord r = new ActivityClientRecord(); r.token = token; r.ident = ident; r.intent = intent; r.activityInfo = info; r.state = state; r.pendingResults = pendingResults; r.pendingIntents = pendingNewIntents; r.startsNotResumed = notResumed; r.isForward = isForward; queueOrSendMessage(H.LAUNCH_ACTIVITY, r); } ...... } ...... }这里把相关的参数都封装成一个ActivityClientRecord对象r,然后调用queueOrSendMessage函数来往应用程序的消息队 列中加入一个新的消息(H.LAUNCH_ACTIVITY),这个函数定义在frameworks/base/core/java/android /app/ActivityThread.java文件中:
[java] view plaincopypublic final class ActivityThread { ...... private final class ApplicationThread extends ApplicationThreadNative { ...... // if the thread hasn't started yet, we don't have the handler, so just // save the messages until we're ready. private final void queueOrSendMessage(int what, Object obj) { queueOrSendMessage(what, obj, 0, 0); } ...... private final void queueOrSendMessage(int what, Object obj, int arg1, int g2) { synchronized (this) { ...... Message msg = Message.obtain(); msg.what = what; msg.obj = obj; msg.arg1 = arg1; msg.arg2 = arg2; mH.sendMessage(msg); } } ...... } ...... }到此,关于"Android应用程序如何把消息加入到消息队列中"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
消息
应用程序
程序
应用
队列
学习
函数
文件
更多
篇文章
帮助
实用
接下来
参数
地方
好消息
对象
文章
方法
源代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安装数据库挂起
广州小程序商城开发软件开发
学软件开发哪里比较好
北京闪银网络技术
苹果软件开发者信任哪里设置
如何获取手机app后台数据库
网络安全手抄报三年级最简单的
烽火服务器管理员账号密码
软件开发工程师专业考试
数字产业与网络安全
我的世界的杀手服务器怎么没了
服务器的管理员的工资
根据网络安全法手机号
拼车管理系统源码和数据库
怎样连接一个网络服务器
粤教版信息技术网络技术教案
公司注册软件开发
研祥软件开发怎么样
湖北省商业软件开发
如何合并三个网站数据库
怎么确定网络安全性
数据库int变负数
广安展厅互动软件开发
兴国天气预报软件开发
服务器搭在另一个电脑上怎么使用
创建数据库哪里可以设置约束
hycraft服务器管理员
微信小程序提交数据到云数据库
数据库2008注册表
广东工控软件开发定制