记录Android大版本部分重大差异【5.0--11.0】

Android 5.0

Material Design
ART虚拟机

Android 6.0

应用权限管理
官方指纹支持
Doze电量管理
运行时权限机制->需要动态申请权限

Android 7.0

多窗口模式
支持Java 8语言平台
需要使用FileProvider访问照片
安装apk需要兼容

Android 8.0

通知
画中画
自动填充
后台限制
自适应桌面图标->适配
隐式广播限制
开启后台Service限制

Android 9.0

利用 Wi-Fi RTT 进行室内定位
刘海屏 API 支持
多摄像头支持和摄像头更新
不允许调用hide api
限制明文流量的网络请求 http

Android 10

暗黑模式
隐私增强(后台能否访问定位)
限制程序访问剪贴板
应用黑盒
权限细分需兼容
后台定位单独权限需兼容
设备唯一标示符需兼容
后台打开Activity 需兼容
非 SDK 接口限制 需兼容

Android 11

  • 一次性权限:让用户可以选择授予更多对位置信息、麦克风和摄像头的临时访问权限。
  • 权限对话框的可见性:一再拒绝某项权限表示用户希望“不再询问”。
  • 数据访问审核:深入了解您的应用在何处访问私密数据,无论是在您的应用自己的代码中,还是在依赖库的代码中。
  • 系统提醒窗口权限根据请求自动向某些类型的应用授予 SYSTEM_ALERT_WINDOW 权限。此外,包含 ACTION_MANAGE_OVERLAY_PERMISSION intent 操作的 intent 始终会将用户转至系统设置中的屏幕。

 

 

<think>好的,用户想了解SSE(Server-Sent Events)在不同浏览器中的兼容性情况。首先,我需要回忆一下SSE的基本概念和它的主要用途。SSE是一种服务器向客户端推送事件的技术,基于HTTP协议,通常用于实时更新数据,比如新闻推送或股票行情。 接下来,我应该整理SSE的浏览器兼容性。根据之前的引用内容,引用[3]提到SSE需要兼容IE的话可以使用event-source-polyfill,而引用[2]和[3]指出WebSocket和SSE的兼容性差异。现代浏览器如Chrome、Firefox、Safari和Edge通常支持SSE,但IE不支持。需要确认具体版本的支持情况,比如从哪个版本开始支持。 然后,我需要考虑如何结构化回答。可能分为现代浏览器支持情况、IE的兼容性问题、解决方案(如polyfill),以及与其他技术(如WebSocket)的对比。还要注意用户可能关心如何检测支持和处理兼容性问题,比如使用特性检测或备用方案。 另外,用户提供的引用中提到了IE8及以上需要兼容,但SSE在IE中完全不支持,所以必须使用polyfill。引用[3]提到的event-source-polyfill是一个解决方案,可能需要详细说明如何使用。同时,引用[4]提到的浏览器兼容性设置,比如meta标签的使用,可能对SSE的兼容性有帮助吗?需要确认这点,但通常meta标签影响渲染引擎,而SSE的支持更多取决于浏览器本身的API实现。 还要注意回答中需要符合用户给出的格式要求:行内数学公式用$...$,独立公式用$$...$$,但这个问题可能用不上数学公式。确保使用中文,结构清晰,分点回答,并在最后生成相关问题。 最后,检查是否有遗漏的信息,比如移动端浏览器的支持情况,或者SSE在部分浏览器中的限制,比如连接数限制或同源策略。确保引用正确的来源,比如引用[3]提到的polyfill和与WebSocket的对比,引用[2]关于选择SSE的因素。</think>### SSE(Server-Sent Events)浏览器兼容性分析 #### 1. **现代浏览器支持情况** SSE 被大多数现代浏览器原生支持,包括: - **Chrome**:从 6.0 版本开始支持[^3] - **Firefox**:从 6.0 版本开始支持 - **Safari**:从 5.0 版本开始支持 - **Edge**:从 79.0 版本开始支持(基于 Chromium 内核) - **Opera**:从 11.0 版本开始支持 这些浏览器无需额外插件即可使用 SSE 功能。 --- #### 2. **IE 浏览器的兼容性问题** - **IE 全系列(包括 IE11)**:**不支持 SSE**[^3]。 IE 浏览器未实现 SSE 的 `EventSource` API,需通过以下方案解决: - **使用 Polyfill**:如 `event-source-polyfill`,通过 XMLHttpRequest 或 WebSocket 模拟 SSE 功能[^3]。 - **降级方案**:改用轮询(Polling)或长轮询(Long Polling)。 --- #### 3. **移动端浏览器支持** - **iOS Safari**:支持 SSE(iOS 5+) - **Android 浏览器**:Chrome for Android 和 Firefox for Android 均支持 --- #### 4. **兼容性检测与适配** - **特性检测**:通过 JavaScript 判断浏览器是否支持 `EventSource`: ```javascript if (typeof EventSource !== 'undefined') { // 支持 SSE } else { // 使用 Polyfill 或降级方案 } ``` - **Polyfill 示例**: ```javascript // 使用 event-source-polyfill import { EventSourcePolyfill } from 'event-source-polyfill'; const es = new EventSourcePolyfill('/sse-endpoint'); ``` --- #### 5. **与 WebSocket 的对比** | 特性 | SSE | WebSocket | |--------------------|------------------------------|------------------------| | 协议 | HTTP(单向,服务器到客户端) | 独立协议(双向) | | 二进制支持 | 需编码为文本[^3] | 原生支持 | | 断线重连 | 自动支持 | 需手动实现 | | IE 兼容性 | 需 Polyfill[^3] | 部分支持(IE10+)[^2] | --- #### 6. **实际开发建议** - **目标用户分析**:若需兼容 IE,优先使用 Polyfill 或改用 WebSocket[^2][^3]。 - **性能考量**:SSE 适合文本数据推送(如日志、通知),WebSocket 更适合高频双向通信[^2]。 --- 相关问题
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值