南宁seo网站排名优化表白网页生成

news/2025/9/23 18:15:51/文章来源:
南宁seo网站排名优化,表白网页生成,wordpress 正文宽度,二手书交易网站开发毕业设计目录 广播接收器 BroadcastReceiver实现原理使用流程广播的类型(1) 普通广播(2) 系统广播(3) 有序广播(4) App应用内广播 Local Broadcast粘性广播 面试问题 广播接收器 BroadcastReceiver 实现原理 Android 中的广播使用了设计模式中的观察者模式#xff1a; 基于消息的发布… 目录 广播接收器 BroadcastReceiver实现原理使用流程广播的类型(1) 普通广播(2) 系统广播(3) 有序广播(4) App应用内广播 Local Broadcast粘性广播 面试问题 广播接收器 BroadcastReceiver 实现原理 Android 中的广播使用了设计模式中的观察者模式 基于消息的发布/订阅事件模型。 模型中有3个角色 消息订阅者 广播接收者消息发布者 广播发布者消息中心 AMS 即 Activity Manager Service 原理描述广播接收者 通过 Binder 机制在 AMS 注册广播发送者 通过 Binder 机制向 AMS 发送广播AMS 根据 广播发送者 要求 在已注册列表中 寻找合适的广播接收者寻找依据 IntentFilter / PermissionAMS 将广播发送到合适的广播接收者相应的消息循环队列中广播接收者通过 消息循环 拿到此广播 并回调 onReceive() 特别注意 广播发送者 和 广播接收者的执行 是 异步的 发出去的广播不会关心有无接收者接收 也不确定接收者到底是何时才能接收到 使用流程 自定义广播接收者 继承自BroadcastReceiver类 重写抽象方法onReceive(Context ctx, Intent intent)方法默认情况下 广播接收器运行在UI线程 因此 onReceive方法不能执行耗时操作 否则将导致ANR。注册广播接收器 静态注册在AndroidManifest.xml里通过标签receiver声明当此App首次启动时 系统会自动实例化自定义广播接收器类 并注册到系统中。 动态注册在某一个组件的代码中通过调用Context的registerReceiver(BroadcastReceiver, IntentFilter)方法进行动态注册。对于动态广播 有注册就必然得有注销 否则会导致内存泄露。 两种注册方式的对比 静态注册常驻不受任何组件的生命周期影响缺点是耗电占内存。 动态注册非常驻灵活跟随组件的生命周期变化在组件结束前必须移除广播接收器。 3. 广播发送者向AMS发送广播 广播的发送广播是用Intent标识的定义广播所具备的Intent通过sendBroadcast(Intent)方法发送出去 广播的类型 (1) 普通广播 即开发者自身定义intent的广播 最常用 (2) 系统广播 Android中内置了多个系统广播 只要涉及到手机的基本操作 如开机、 网络状态变化、 拍照等等 都会发出相应的广播每个广播都有特定的Intent - Filter 包括具体的action。 (3) 有序广播 定义发送出去的广播被广播接收者按照先后顺序接收广播接受者接收广播的顺序规则 同时面向静态和动态注册的广播接受者 按照Priority属性值从大-小排序Priority属性相同者 动态注册的广播优先 特点接收广播按顺序接收先接收的广播接收者可以对广播进行截断 即后接收的广播接收者不再接收到此广播先接收的广播接收者可以对广播进行修改 那么后接收的广播接收者将接收到被修改后的广播 接口sendOrderedBroadcast(intent); (4) App应用内广播 Local Broadcast 为什么需要应用内广播 Android中的广播可以跨App直接通信 exported对于有intent-filter情况下默认值为true就有可能出现应用间广播的冲突冲突表现在 效率性问题其他App针对性发出与当前App中注册的广播接收器的intent-filter相匹配的广播 由此导致当前App不断接收广播并处理安全性问题其他App注册与当前App发送的广播一致的intent-filter的广播接收器用于接收广播 获取广播具体信息 解决方案使用App应用内广播 App应用内广播可理解为一种局部广播 广播的发送者和接收者都同属于一个App相比于全局广播 普通广播 App应用内广播优势体现在安全性高 效率高 实现方式 将全局广播设置成局部广播 1注册广播接收器时将exported属性设置为false 使得非本App内部发出的广播不被接收 2在广播发送和接收时 增设相应权限permission 用于权限验证 3发送广播时指定该广播接收器所在的包名 此广播将只会发送到此包中的App内与之相匹配的有效广播接收器中。通过 intent.setPackage(packageName) 指定包名。使用封装好的LocalBroadcastManager类 //注册应用内广播接收器 //步骤1 实例化BroadcastReceiver子类 IntentFilter BroadcastReceiver mBroadcastReceiver new mBroadcastReceiver(); IntentFilter intentFilter new IntentFilter();//步骤2 实例化LocalBroadcastManager的实例 localBroadcastManager LocalBroadcastManager.getInstance(this);//步骤3 设置接收广播的类型 intentFilter.addAction(android.net.conn.CONNECTIVITY_CHANGE);//步骤4 调用LocalBroadcastManager单一实例的registerReceiver 方法进行动态注册 localBroadcastManager.registerReceiver(mBroadcastReceiver, inten tFilter); //取消注册应用内广播接收器 localBroadcastManager.unregisterReceiver(mBroadcastReceiver);//步骤5发送应用内广播 Intent intent new Intent(); intent.setAction(android.net.conn.CONNECTIVITY_CHANGE); localBroadcastManager.sendBroadcast(intent);粘性广播 由于在Android5.0 API 21中已经失效 所以不建议使用 在这里也不作过多的总结。 面试问题 广播的分类和使用场景? 广播的两种注册方式的区别? 广播发送和接收的原理? 本地广播和全局广播的区别?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自己做网站接广告网站推广哪个平台最好

package 内部类异常包装器;public class 异常 {/*** 1.异常:* 有Error和Exception两个基本子类* 2.Error:* Error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。* 3.Exception:* 表示一种设计或实现问题。也就是说&…

千图网免费设计图片素材网seo整站优化服务教程

1. 用Record接口,要注意 Packed的区别 2. cdecl和stdcall的区别 3. C导出的函数建议用C格式stdcall导出,使用Def文件定义名称 4. 用VS写的API dll要注意是否引用了MFC的DLL,否则会使LoadLibrary失败,并GetLastError后返回14001 Ap…

东莞网站建设属于什么专业优化营商环境 提升服务效能

ICCV,被誉为计算机视觉领域三大顶级会议之一。作为计算机视觉领域最高级别的会议之一,其论文集代表了计算机视觉领域最新的发展方向和水平。阿里巴巴在今年的大会上有多篇论文入选,本篇所解读的论文是阿里iDST与多家机构合作的入选论文之一&a…

杭州富阳建设局网站首页推广普通话征文

根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》要求,在中华人民共和国境内从事互联网信息服务的APP主办者,应当依照《中华人民共和国反电信网络诈骗法》《互联网信息服务管理办法》(国务院令第292…

备案个人网站 淘宝客兰州网站建设cheng

Win10专业版如何激活 Win10专业版如何激活 - 知乎 使用这方法成功了。 win10连上wifi却不能上网的问题解决方法:https://jingyan.baidu.com/article/c85b7a644c2996003bac958a.html 一:先改ipv4自动手动的,不行 二:把无线网卡…

母婴网站模板访问量大的网站

Leetcode 2786. 访问数组中的位置使分数最大 DP 以每个位置为结尾的序列的分数取决于前方的分数,根据奇偶性计算,取最大值 超时 class Solution {public long maxScore(int[] nums, int x) {int n nums.length;long dp[] new long[n];Arrays.fill(dp…

NLP:驱动人工智能迈向 “理解” 与 “对话” 的核心引擎 - 教程

NLP:驱动人工智能迈向 “理解” 与 “对话” 的核心引擎 - 教程2025-09-23 18:06 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !imp…

Python精品任务-基于python的个性化音乐推荐架构的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)

Python精品任务-基于python的个性化音乐推荐架构的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displa…

旧手机改服务器-旧Android手机改Linux服务器Termux方案

旧手机改服务器-旧Android手机改Linux服务器Termux方案确切的说, 应该是: 旧Android手机改Linux服务器^-^ 0. 本文选用Termux+OpenSSH方案.简单-直接安装app即可, 兼容性高-手上的OPPO R9s 手机实在过于老旧1. 安装Ter…

长沙网站建设排名计算机做网站

在使用过去20天的数据预测未来7天时,时间步的设置通常取决于你对问题的理解以及模型的设计。时间步定义了每个样本中包含多少个时间步的数据。 在使用循环神经网络 (RNN) 或长短时记忆网络 (LSTM) 这样的模型时,你可以将时间步的选择视为一个超参数。这…

软件自学网站手表网站十大品牌

前言 本篇博客介绍在查看日志的场景中,grep管道命令的使用,并给出了具体的案例。 以下为Linux相关的博客文章列表: Linux——认识Linux的目录结构 & 常用命令 & vim命令 & 权限及其控制 & 防火墙命令 & 自定义命令 &a…

菏泽网站获客网站建设公司wordpress文章外链缩略图

谷歌guava番石榴 这是我尝试解释和探索Google很棒的Guava java库的系列文章中的第一篇。 我在搜索Apache Commons Collections的通用版本时遇到了番石榴(Guava)–我需要一个Bimap并且厌倦了必须使用强制类型转换来填充我的代码–但是我发现要好得多。 …

网站建设有些什么流程能看完整舆情报告的软件

微软终于发布了.Net Code RC2了,作为一个软粉当然是第一时间升级了。《升级.Net Core RC2的那些事》系列文章主要是记录本人升级RC2的相关步骤以及遇到过的坑。 第一篇先写类库项目(Nuget包项目)的升级 升级VS工具 这里只提供一个下载地址&am…

南昌网站建设渠道django网站开发实例源码

假设目标机器openeuler的IP是192.168.0.100 1.先检查网络是否连通: 在本地 telnet 192.168.0.100 22 (通常连接成功后,会显示类似SSH-2.0-OpenSSH_8.2版本信息) 以上需要sshd服务进程存在,以及防火墙是通的。 2. 查看&#xff1…

自己电脑做网站服务器深圳装修公司前十强

南开大学20春学期(1709、1803、1809、1903、1909、2003)《Python编程基础》在线作业试卷总分:100 得分:98一、单选题(共20 道试题,共40 分)1.已知“stra\rb\r\nc\n”,则“str.splitlines()”的返回结果是( )。A.[a,b,c]B.[a\r,b\r\n,c\n]C.[a\r,b\r,c]D.[a\r,b,c]答案:A2.已知“…

什么类型网站国外设计素材网站

软件工程项目管理是一个系统工程,软件工程项目管理的主要目标是保证项目在规定时间内高质量地完成。项目管理包括了项目组开发各阶段的人员结构的配置,质量控制的实施方略,内部文档和产品文档的组织编写等多项工作,其中质量控制方…

咨询企业网站模板数据分析师课程

前言—在 web 开发场景,减少代码体积虽然是性能优化的一个方向,还没到锱铢必较的程度。但是在小程序场景,由于代码包上传阶段限制了主包 2M 和总包 16M(近期微信官方正在内测将总包上限调整至 20M )的尺寸,…

制作网站的心得体会企业微营销网站

文 | jxyxiangyu在写了一周的业务代码后,沏一杯绿茶,总算可以有时间看看鸽了一个月的素材了。好的,小伙伴们,废话不多说,今天我们将跟随 Boris Dayma 大佬,看看他在训练 DALLE-Mega 时遇到的一系列问题。据…

第二篇

今天是9月23日,今天上了工程实训与劳动课,下午上了英语课,了解了用电安全,提高了知识储备。学习了新的词汇。

哪里建网站性价比高做网站注意哪方面

params object[] 用于函数多参数的定义public static void Write(string format, params object[] arg);explicit 关键字用于声明必须使用强制转换来调用的用户定义的类型转换运算符。 例如,在下面的示例中,此运算符将名为 Fahrenheit 的类转换为名为 Ce…