是时候适配一波Android11了,为后面项目适配铺平道路。 介绍 2020年6月11日,Google正式推送了Android 11 Beta版本,同年年9月9日正式发布。 开始适配Android 11。 隐私变更 强制执行分区存储机制 为了避免存储空间的读写权限被滥用,手机中存在着大量不明文件,且应用卸载后也没有删除掉。 android:requestLegacyExternalStorage="true" 但是这个适配方法在Android 11中已经失效,必须按照存储机制来乖乖适配,不一样的是Android 11允许使用 的同时不能请求其它权限,否则系统会抛出异常(在没研究Android 11适配的时候,我就已经发现了这个bug,当时以为是系统的bug,还截了两张图,后面仔细查看,找资料才发现是Android 11的变更 如何适配呢?在之前接入微信支付的时候,文档就有提示Android 11 第三方应用无法拉起应用适配,适配方案为在主工程的AndroidManifest.xml 中增加 <queries> 标签。
在今年10-11月份刚过去的英雄联盟S9总决赛中,SRT作为跨洋远距离传输方案,在源流制作环节中承担主线路的角色,稳定支持了总决赛的每一场比赛。 SRT Live模式默认是允许丢包的,但是一些应用场景或同一场景不同部分的数据具有不同的重要性,腾讯视频云对此做了适配直播场景的优化,根据音视频编码的特点优化了弱网下的传输质量和播放体验。 为了和现有云直播产品体系完美兼容,腾讯视频云实现SRT流直接接入直播CDN系统,如上行推流采用SRT,下行仍可使用常规的rtmp/http-flv/hls,或者全链路使用SRT。 通过不断优化,腾讯视频云快速将SRT集成到直播CDN系统,这也是业内首次将SRT集成在全链路直播流媒体系统中的各个环节,最终为英雄联盟S9、阅兵、双11等重大赛事和活动提供了强有力的技术保障,应对了众多低延迟
运维监控产品核心能力全景对比1)Lerwee核心定位:国内全栈智能监控与信创合规佼佼者,专为中大型企业异构环境打造“采集-分析-告警-处置”全流程闭环平台,聚焦国产化场景下的全栈观测与业务连续性保障;相对开源产品 能力亮点:• 全栈监控与信创深度适配:全类型、异构IT环境监控,支持物理机、虚拟机、网络设备、存储设备、云平台、IoT设备等;同时全面兼容鲲鹏、飞腾、海光等国产芯片,麒麟、统信、欧拉等国产操作系统,达梦 • 全栈数据协同分析:打通Metric(指标)、Trace(链路)、Topology(拓扑)等多维数据,支持“指标异常-链路追踪-拓扑关联”的全维度联动分析,覆盖物理硬件、虚拟化平台、云平台、容器集群、 5)Datadog核心定位:全球领先的SaaS化全栈可观测平台,以“云原生、全链路、智能化”为核心优势,专注于云端与混合云环境的全栈观测,是跨国企业与互联网企业的主流选择;但SaaS模式存在数据隐私泄露风险 能力亮点:• 全栈SaaS化观测:无需自建监控基础设施,通过Agent一键部署实现全球分布式环境的监控覆盖,支持公有云(AWS、Azure、阿里云等)、私有云、混合云等多种架构,实现“一套平台管全域”。
起源 在targetSdkVersion为30的情况下,在Android 11的小米10手机上运行,调用ToastUtil的时候闪退报错: null cannot be cast to non-null type android.widget.LinearLayout 且看已知条件: targetSdkVersion 30 Android 11 小米10 文末附Android 11适配手册 定位问题 view as LinearLayout 现在看来其实是没有错的,事实上运行在Android11以下也确实没问题。 适配方案 综上所诉,适配方案也了然于心了。 Android 11开发手册 《Android 11 开发者手册》
背景 最近在项目中着手做Android10和Android11 适配时候,期间遇到了不少的坑。之前有专门写过qq、微信分享的适配。但是此次在针对偏业务侧适配工作的时候还是碰到了一些新的问题。 但是,这里有个坑: 在Android10上不行,在Android11上又可以!!为什么? 因为Google改回来了,让Android11支持file://格式了。。。。 (wtf? 三、终极适配方案 在Android10上 开启标志位 :android:requestLegacyExternalStorage="true"来开启兼容模式,关闭分区适配,相当于targetSdkVersion 在Android11上 以上标志会自动失效。因此,应用存储的东西还在放在App-specific目录下。分享私有目录可以通过fileprovider 方式适配。 答: 如果按照上面正常适配,肯定完全没得问题!
今天打算跟大家聊聊最近研究的全机型适配思路。 当前我们需要适配的iPhone机型有4s、5s、6s、6Plus四种机型。 在具体的代码中,我封装出了一个类,定义了两个类方法专门去适配所有机型的高度和宽度。思路就是上述按不同机型针对于iPhone6的比例而适配。 代码我也贴一部分出来。 iPhone6Type, iPhone6PlusType }; @interface CalculateLayout : NSObject /** * 基于UI设计的iPhone6设计图的全机型高度适配 * * @param height View高度 * * @return 适配后的高度 */ + (CGFloat)neu_layoutForAlliPhoneHeight:(CGFloat )height; /** * 基于UI设计的iPhone6设计图的全机型宽度适配 * * @param width 宽度 * * @return 适配后的宽度 */ + (CGFloat
背景 Android 11 进一步增强了平台功能,为外部存储设备上的应用和用户数据提供了更好的保护。作为这项工作的一部分,平台引入了进一步的改进,以简化向分区存储的转换。 如果您需要对已安装的应用进行适配分区存储的数据迁移,则可以在应用更新到目标平台为Android 11版本后仍暂时保留原有的存储模式。 注意:如果您的应用以Android 11 为目标运行平台,上述允许存储所有文件代表的是对文件的只读权限。 2 以 Android 11 为目标平台 如果应用以 Android 11 为目标平台,则WRITE_EXTERNAL_STORAGE 权限和 WRITE_MEDIA_STORAGE 特许权限将不再提供任何其他访问权限 2 兼容性影响 如果您的应用并非以 Android 11 为目标平台,那么其中一些变更可能不会立即对您产生影响。
在信创产业全面推进与企业数字化转型加速的双重背景下,国产DevOps平台的全栈适配能力(操作系统、数据库、中间件)成为影响企业选型的核心因素。 全栈兼容型平台:嘉为蓝鲸DevOps平台构建了“国产为主、全面覆盖”的数据库适配体系。 全生态中间件型平台:嘉为蓝鲸DevOps平台构建了完整的中间件适配体系,涵盖API网关(OpenResty)、消息队列(RabbitMQ、Pulsar)、服务注册发现(Consul、Zookeeper) 04全栈适配核心差异总结与选型建议1)核心差异汇总表综上,在国产DevOps平台的全栈适配比拼中,嘉为蓝鲸凭借“覆盖广、适配深、稳定性强、场景化优”的核心优势,成为企业(尤其是大型政企、信创转型企业)的优选方案 综上,在国产DevOps平台的全栈适配比拼中,嘉为蓝鲸凭借“覆盖广、适配深、稳定性强、场景化优”的核心优势,成为企业(尤其是大型政企、信创转型企业)的优选方案,其全栈适配能力不仅能满足当前IT架构需求,
Android 11 (R) Android 11 (R) 在 Android 10 (Q) 中分区存储的基础上进行了调整。 1. 无论设备后续是否升级为搭载 Android 10 或更高版本,或者应用后续是否更新为以 Android 10 或更高版本为目标平台,此兼容性行为均适用。 缺点当然是不强制启用的话,国内 APP 适配进度估计得延后了。不过好消息是在查资料的时候,看到了国内大厂的相关适配文章,至少说明大厂在跟进了。 关于适配的难度: 对绝对路径相关接口依赖比较深的 APP 适配还是改动挺多的;其次权限的划分很细,什么时候需要什么权限以及调用哪个接口,理解起来需要一定时间; MediaStore API SAF API 所以虽然明年才会强制执行分区存储,但还是建议尽早理解和 review 项目中需要适配的代码。
分区存储 为了让用户更好地管理自己的文件并减少混乱,以 Android 10(API 级别 29)及更高版本为目标平台的应用在默认情况下被赋予了对外部存储空间的分区访问权限(即分区存储)。 为了让用户更好地管理自己的文件并减少混乱,以 Android 10(API 级别 29)及更高版本为目标平台的应用在默认情况下被授予了对外部存储空间的分区访问权限(即分区存储)。 : 注意:当您将应用更新为以 Android 11(API 级别 30)为目标平台后,如果应用在搭载 Android 11 的设备上运行,系统会忽略 requestLegacyExternalStorage 这段信息,简单可以理解为 requestLegacyExternalStorage=true 只能解燃眉之急,到了 Android 11 上,还是要做适配工作。 3、如果 App 中有通过 File Api 访问外部存储共有目录的代码,还是要需做适配的,至于怎么去做本文就不再讨论了 教训 绕了一圈之后,得出两个教训: 适配新版本的时候,最好先用真机测试一下,万一完美运行就不用适配了
导语 本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。 一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析 问题如下图所示: 1. 安全区域是iOS 11新提出的,如下图所示: 安全区域帮助我们将view放置在整个屏幕的可视的部分。 通过设置iOS 11新增的属性addtionalSafeAreaInset; iOS 11之前,大家是通过将Controller的automaticallyAdjustsScrollViewInsets 那样写是不规范的,只实现高度,而没有实现view,但代码这样写在iOS 11之前是没有问题的,iOS 11之后应该是由于开启了估算行高机制引起了bug。
作为第一个强制要求分区存储的 API 级别,Android 11无疑是近几年适配工作较为复杂的版本,各个 APP 的适配进度也被寄予期盼。 二、变更要点 2.1 包可见性 适配 Android 11 之前,APP可以获取到手机已安装的应用列表信息。 适配 Android 11 后,Mac 地址和 ICCID 的获取都受限了。 APP 无需权限就可以读写属于它的应用私有目录,这点在适配 Android 11前后都没有变化。 3.1 精确定位范围 部分业务较多的产线比较少直接操作存储或调用了需适配的 API,因此 Android 11 的适配理论上应该尽可能少地对他们产生影响。
iOS全尺寸适配方案探究图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片图片
| 导语 本文主要是对iOS 11下企鹅 FM APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。 一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析 问题如下图所示: ? 1. 安全区域是iOS 11新提出的,如下图所示: ? 安全区域帮助我们将view放置在整个屏幕的可视的部分。 通过设置iOS 11新增的属性addtionalSafeAreaInset; iOS 11之前,大家是通过将Controller的automaticallyAdjustsScrollViewInsets 那样写是不规范的,只实现高度,而没有实现view,但代码这样写在iOS 11之前是没有问题的,iOS 11之后应该是由于开启了估算行高机制引起了bug。
真正顺畅的多平台上架,始于开发初期的精准预研,通过提前拆解平台要求、预判潜在风险、搭建适配框架,将问题解决在萌芽阶段,这也是无数实战案例中总结的核心逻辑,而非单纯依赖后期的规则套用或临时整改。 平台技术预研是上架成功的前提,其核心在于穿透官方文档的表层信息,挖掘平台底层的技术基线与审核导向差异,形成可落地的适配方案。 此外,Android平台还需适配不同CPU架构(ARMv7、ARM64、x86),预研时需明确目标机型的架构分布,避免因未适配某架构导致部分设备无法安装。 合规性风险的管控,核心在于“前置梳理”与“全流程校验”,而非上架前的临时补救,一旦出现合规问题,不仅会导致审核驳回,还可能影响品牌声誉。 上架全流程的标准化管控,是降低失误率的关键,需将预研结论转化为可执行的操作规范,覆盖包体构建、测试、信息填写、审核校验等各个环节。
一、单纯升级iOS11后造成的变化 1. 升级后,发现某个拥有tableView的界面错乱,组间距和contentInset错乱,因为iOS11中 UIViewController 的 automaticallyAdjustsScrollViewInsets heightForFooterInSection:(NSInteger)section; // 这样的原理是因为之前只是实现了高度的代理方法,却没有实现View的代理方法,iOS10及以前这么写是没问题的,iOS11 如果使用了Masonry 进行布局,就要适配safeArea ([UIDevice currentDevice].systemVersion.floatValue >= 11.0) { make.edges.equalTo (self.view.safeAreaInsets); } else { make.edges.equalTo(self.view); } iOS 11适配之跳转App Store评论 在iOS
引言 近期,Google 发布了 Android 11的平台稳定版本。Android 11 将在确保用户隐私安全的前提下,更好地让用户畅享最新科技。 本文将从分区存储、应用包可见性、权限变化和新功能四个方面来谈谈 Android 11 新特性,以帮助开发者更快速、更便捷地上手适配Android新系统。 如果有数据需要迁移,可以在 AndroidManifest 中将 preserveLegacyExternalStorage 属性设为 true ,当用户升级到以 Android 11 为目标平台时,这个配置就会生效 针对以 Android 11 为目标平台的应用 (targetSdkVersion = 30) ,WRITEEXTENRNALSTORAGE 和 WRITEMEDIASTORAGE 不再提供其他任何访问权限 为了提升SDK的稳定性、兼容性,个推也对Android 11 的新特性进行了深入研究,并即将针对旗下产品推出全新的适配方案,以满足开发者不同的使用场景。
此外,我们想清楚地表明.NET5是.NET平台的未来。我们也借此机会简化命名。我们认为,如果未来只有一个.NET,我们就不需要像“Core”这样的明确术语。 NET5已经于20201年11月正式发布。 ? 在.NET Framework 时代,每发布一个重大版本,需要经历1年,2年,甚至3年。发版周期比.NET Core 明显要长。 ?
在完成PC端的SSGI方案落地后,我们面临的更大挑战是移动端适配—开放世界游戏需要覆盖从旗舰机到中端机的各类设备,而移动端GPU的性能仅为PC端的1/5至1/10,如何在有限的硬件资源下实现实时全局光照 采样矩阵未开启快速降噪,帧率仅能维持在38-42帧,且画面存在明显噪点,加入快速降噪算法后,通过对相邻像素的亮度值进行加权平均,噪点密度降低65%,帧率提升至45-50帧,同时我们还针对不同安卓版本做了适配
一、技术平台厂家:筑牢数字孪生的核心底座技术平台是智慧校园数字孪生系统的 “骨架”,其建模精度、数据融合能力与场景适配性直接决定校园数字化管理的效能。 1、51WORLD:全场景孪生与产学研融合的引领者作为数字孪生领域的标杆平台企业,51WORLD 以 “全要素还原、全业务互联” 的技术优势,成为高校构建综合性智慧校园数字孪生的优选平台。 在管理效能层面,其打造的孪生数智校园 IOC 系统可打通 11 类业务系统数据,形成包含多项明细的数据资产库,通过 “一屏统管” 驾驶舱实现安防巡更、设备运维、能耗管理的智能化调度。 其核心优势聚焦于合规性与教学适配性:在国产化适配方面,旗下 DTS 数字孪生平台全面兼容鲲鹏芯片、统信 UOS 等国产软硬件体系,符合等保三级标准,为校园数据安全提供底层保障。 广州某高校项目中,通过该平台实现校区安全态势、教室使用率、水电消耗等指标的 “一屏总览”,管理者可从宏观态势钻取至具体设备的运行参数,实现 “状态全可视、事件全可控”。